|
--- |
|
license: gemma |
|
language: |
|
- tr |
|
pipeline_tag: text-generation |
|
base_model: google/gemma2-9b |
|
tags: |
|
- Turkish |
|
- gemma2 |
|
- DPO |
|
- SFT |
|
- conversational |
|
- instruction |
|
--- |
|
|
|
|
|
|
|
# Turkish-Gemma-9b-v0.1 |
|
|
|
This is the Turkish-Gemma-9b-v0.1. The model has been developed by combining continual pre-training, supervised fine-tuning (SFT), direct preference optimization (DPO), and merge processeses. |
|
|
|
The Turkish-Gemma-9b-v0.1 is designed for Turkish text generation tasks, providing coherent, contextually relevant continuations and answers. Due to the diverse nature of the training data—which includes large-scale pre-training corpora, instruction-tuning data, and human preference data—the model may exhibit biases. Users should be aware of these and deploy the model responsibly. |
|
|
|
You can easily demo the model here: https://cosmos.yildiz.edu.tr/cosmosgemma |
|
|
|
The results of a voting conducted by 18 judges on 1,450 questions are as follows: |
|
<img src="./oylama.jpeg"/> |
|
|
|
#### Transformers pipeline |
|
|
|
```python |
|
import transformers |
|
import torch |
|
model_id = "ytu-ce-cosmos/Turkish-Gemma-9b-v0.1" |
|
pipeline = transformers.pipeline( |
|
"text-generation", |
|
model=model_id, |
|
model_kwargs={"torch_dtype": torch.bfloat16}, |
|
device_map="auto", |
|
) |
|
messages = [ |
|
{"role": "user", "content": "İsmi RD olan bir fonksiyon ona verilen sayının çarpmaya göre tersini döndürmektedir. Örneğin RD(3)=1/3. Buna göre RD(X)=X ifadesini doğru yapan kaç X değeri vardır?"} |
|
] |
|
|
|
outputs = pipeline( |
|
messages, |
|
max_new_tokens=512, |
|
do_sample=True, |
|
temperature=0.6, |
|
top_p=0.9, |
|
) |
|
print(outputs[0]["generated_text"][-1]) |
|
# RD(X) = X ifadesi, bir sayının çarpmaya göre tersinin kendisiyle eşit olması anlamına gelir. Yani, X ile 1/X aynı olmalıdır. Bu durum yalnızca X'in karesi 1 olduğunda gerçekleşir: |
|
|
|
# X² = 1 |
|
|
|
# Bu denklemin çözümleri: |
|
|
|
# X = 1 ve X = -1 |
|
|
|
# Dolayısıyla, RD(X) = X eşitliğini sağlayan *iki* X değeri vardır: *1* ve *-1*. |
|
``` |
|
|
|
#### Transformers AutoModelForCausalLM |
|
|
|
```python |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
import torch |
|
|
|
model_id = "ytu-ce-cosmos/Turkish-Gemma-9b-v0.1" |
|
tokenizer = AutoTokenizer.from_pretrained(model_id) |
|
model = AutoModelForCausalLM.from_pretrained( |
|
model_id, |
|
torch_dtype=torch.bfloat16, |
|
device_map="auto", |
|
) |
|
|
|
messages = [ |
|
{"role": "user", "content": "İsmi RD olan bir fonksiyon ona verilen sayının çarpmaya göre tersini döndürmektedir. Örneğin RD(3)=1/3. Buna göre RD(X)=X ifadesini doğru yapan kaç X değeri vardır?"} |
|
] |
|
input_ids = tokenizer.apply_chat_template( |
|
messages, |
|
add_generation_prompt=True, |
|
return_tensors="pt" |
|
).to(model.device) |
|
|
|
outputs = model.generate( |
|
input_ids, |
|
max_new_tokens=512, |
|
do_sample=False, |
|
) |
|
response = outputs[0][input_ids.shape[-1]:] |
|
print(tokenizer.decode(response, skip_special_tokens=True)) |
|
# RD(X) = X ifadesi, bir sayının çarpmaya göre tersinin kendisiyle eşit olması anlamına gelir. Yani, X ile 1/X aynı olmalıdır. Bu durum yalnızca X'in karesi 1 olduğunda gerçekleşir: |
|
|
|
# X² = 1 |
|
|
|
# Bu denklemin çözümleri: |
|
|
|
# X = 1 ve X = -1 |
|
|
|
# Dolayısıyla, RD(X) = X eşitliğini sağlayan *iki* X değeri vardır: *1* ve *-1*. |
|
|
|
``` |
|
|
|
|
|
# Acknowledgments |
|
- Thanks to the generous support from the Hugging Face team, it is possible to download models from their S3 storage 🤗 |
|
- Computing resources used in this work were provided by the National Center for High Performance Computing of Turkey (UHeM) under grant numbers 1016912023 and |
|
1018512024 |
|
|
|
### Contact |
|
COSMOS AI Research Group, Yildiz Technical University Computer Engineering Department <br> |
|
https://cosmos.yildiz.edu.tr/ <br> |
|
[email protected] |
|
|
|
--- |
|
license: gemma2 |
|
--- |