arthu1's picture
Fix normal Transformers inference loading
01cfd4f verified
|
Raw
History Blame Contribute Delete
3.97 kB
---
language:
- en
library_name: aurora
pipeline_tag: text-generation
tags:
- aurora-proelia
- north-ml
- chatml
- 207m
license: other
widget:
- text: Who are you?
- text: What is Python?
- text: Explain photosynthesis in one sentence.
---
![Project Banner](Aurora-3.png)
# Aurora Proelia ChatML
Aurora Proelia ChatML is a 207M-parameter experimental variant of [Aurora Proelia](https://huggingface.co/North-ML1/Aurora-Proelia). It was SFT-trained on a conventional role-based ChatML surface so applications can send system, user, and assistant turns in a familiar format.
This is a separate candidate. The original `Aurora-Proelia` repository remains the native `Question:` / `Answer:` release.
## ChatML format
Use this format for inference:
```text
<|im_start|>system
You are Ember Proelia. Answer directly and concisely.<|im_end|>
<|im_start|>user
What is Python?<|im_end|>
<|im_start|>assistant
```
The model is a custom Aurora checkpoint. The included native Aurora runtime is the simplest path; a Transformers remote-code adapter is also provided below for normal Hub-style testing.
## Transformers / Hugging Face test
The repository also includes a Transformers remote-code adapter, so it can be loaded through the normal `AutoTokenizer` and `AutoModelForCausalLM` APIs:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "North-ML1/Aurora-Proelia-ChatML"
tokenizer = AutoTokenizer.from_pretrained(repo, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(repo, trust_remote_code=True)
messages = [{"role": "user", "content": "What is Python?"}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=96, do_sample=False, use_cache=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```
`trust_remote_code=True` is required because Aurora is a custom architecture; inspect the repository code before enabling it in an untrusted environment.
## What changed
The checkpoint started from the released Aurora candidate and received 2,048 effective ChatML SFT updates over the existing answer-masked ChatML corpus. The pass was intended to teach the input/output surface, not to create a new general-knowledge model.
## Evaluation
On a matched public benchmark mini-slice, the ChatML candidate changed as follows:
| Benchmark | Released Aurora | ChatML candidate |
|---|---:|---:|
| MMLU 路 57 questions | 14/57 路 24.6% | **16/57 路 28.1%** |
| ARC-Challenge 路 50 questions | 13/50 路 26.0% | **15/50 路 30.0%** |
| HellaSwag 路 50 questions | 19/50 路 38.0% | 19/50 路 38.0% |
| GSM8K 路 50 questions | 1/50 路 2.0% | 0/50 路 0.0% |
The exact runs are in [`benchmarks.json`](./benchmarks.json), [`regression_comparison.json`](./regression_comparison.json), and [`chatml_smoke.json`](./chatml_smoke.json). These are transparent slices of public Hugging Face datasets, not official leaderboard evaluations.
The practical result is clearer than the small score changes: the ChatML candidate answers ordinary identity and Python prompts through the role-based format, while the released checkpoint often echoes the ChatML prompt. Arithmetic and uncertainty handling remain weak.
## Limitations
This remains a small research model. It is unreliable for multi-step arithmetic, deep reasoning, current facts, specialized questions without context, and complex instruction following. Verify important answers and provide retrieval context when freshness or factual accuracy matters.
## Local inference
```bash
pip install -r requirements.txt
python inference.py --prompt "What is Python?"
```
Omit `--prompt` to start an interactive chat:
```bash
python inference.py
```
## Distribution
This is a public North ML research release. No open-source license is granted; licensing is reserved by the repository owner.
`text-generation``aurora-proelia``chatml``north-ml``207m`