---
license: apache-2.0
language:
- fr
- en
- zh
- es
- de
- ja
- ko
- pt
- it
- ru
tags:
- chat
- code
- math
- merge
- pytorch
base_model: Qwen/Qwen2.5-7B-Instruct
library_name: transformers
pipeline_tag: text-generation
---
---
## 1. Présentation
**Cygnis-A3 V0.1** est la première version publique du projet Cygnis A3 — un modèle de 7 milliards de paramètres obtenu par merge linéaire pondéré en PyTorch pur sur la base Qwen2.5.
Cette version **V0.1** est volontairement légère et conservatrice : elle combine uniquement les capacités de code, de mathématiques et de suivi d'instructions, sans module de raisonnement DeepSeek-R1 (prévu en V0.2). Elle sert de base validée et stable pour les itérations suivantes.
> **Différence V0.1 vs V0.2 :** La V0.1 ne contient pas de raisonnement Chain-of-Thought (``) ni de balises de réflexion interne. Les réponses sont directes et sans étape de réflexion explicite. La V0.2 intégrera DeepSeek-R1-Distill-Qwen-7B via SLERP pour ajouter ce moteur de raisonnement.
---
## 2. Résumé du modèle
| Architecture |
Merge linéaire PyTorch pur (LM Causal Dense) |
| Paramètres |
7,6B |
| Modèle de base |
Qwen/Qwen2.5-7B-Instruct |
| Modèles mergés |
Qwen2.5-7B-Instruct × 0.70 + Qwen2.5-Coder-7B × 0.20 + Qwen2.5-Math-7B × 0.10 |
| Méthode de fusion |
Interpolation linéaire pondérée (PyTorch state_dict) |
| Embeddings |
Protégés — copiés 100% depuis le base model (aucun merge) |
| Raisonnement CoT |
❌ Non (prévu en V0.2 avec DeepSeek-R1) |
| Couches |
28 |
| Contexte natif |
32 768 tokens |
| Précision |
BFloat16 |
| Modalité |
Texte & Code |
---
## 3. Utilisation
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "Simonc44/Cygnis-A3"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
dtype=torch.float16,
device_map="auto",
trust_remote_code=True,
)
messages = [
{"role": "user", "content": "Écris une fonction Python qui calcule le PGCD de deux nombres."}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
ids = tokenizer(text, return_tensors="pt").to(model.device)
with torch.no_grad():
out = model.generate(
**ids,
max_new_tokens=300,
do_sample=True,
temperature=0.6,
top_p=0.95,
repetition_penalty=1.05,
eos_token_id=[tokenizer.eos_token_id, tokenizer.convert_tokens_to_ids("<|im_end|>")],
pad_token_id=tokenizer.eos_token_id,
)
response = tokenizer.decode(out[0][ids["input_ids"].shape[1]:], skip_special_tokens=True)
print(response)
```
---
## 4. Hyperparamètres recommandés
| Paramètre | Valeur recommandée |
|-----------|-------------------|
| Temperature | `0.6` |
| Top-P | `0.95` |
| Repetition Penalty | `1.05` |
| Max New Tokens | `512–1024` |
---
## 6. Licence
Distribué sous licence **[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)**.