image/png

OrpoGemma-2-9B-TR

OrpoGemma-2-9B-TR is a Turkish fine-tuned version of google/gemma-2-9b-it. It is trained using the ORPO Trainer on a subset of 1500 rows from the dataset selimc/orpo-dpo-mix-TR-20k.

Training Information

  • Base Model: google/gemma-2-9b-it

  • Fine-Tuning Technique: ORPO

  • Training Data: 1500 rows from selimc/orpo-dpo-mix-TR-20k

  • Training Time: 2.5 hours on NVIDIA H100

    QLoRA Configurations:

    • lora_r: 16
    • lora_alpha: 32
    • lora_dropout: 0.05

    ORPO Training Parameters

    • lr: 2e-6
    • epochs: 3
    • per_device_train_batch_size: 8
    • gradient_accumulation_steps: 4

๐Ÿ“ˆ Training Curves

image/png

image/png

OpenLLMTurkishLeaderboard_v0.2 Results

Dataset Score
MMLU_TR_V0.2 53.0%
Truthful_QA_TR_V0.2 54.3%
ARC_TR_V0.2 52.4%
HellaSwag_TR_V0.2 52.0%
GSM8K_TR_V0.2 64.8%
Winogrande_TR_V0.2 58.9%
Average 55.9%

Thanks to the WiroAI team for evaluating my model. Evaluations were done without any inference engine.

Model Capabilities

  • Produces fluent, coherent, and contextually appropriate text in Turkish.
  • Delivers detailed and informative responses to a wide range of instructions and question types.
  • May still produce incorrect or nonsensical outputs, user verification is recommended.

How to Use

from transformers import pipeline, BitsAndBytesConfig, AutoTokenizer
import torch

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_use_double_quant=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16
)

model_id = "selimc/OrpoGemma-2-9B-TR"

tokenizer = AutoTokenizer.from_pretrained(model_id)

pipe = pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16 ,'quantization_config': bnb_config},
    tokenizer=tokenizer,
    device_map="auto"
)

messages = [
    {"role": "user", "content": "Gรถkyรผzรผ neden mavi?"},
]

prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

outputs = pipe(
    prompt,
    max_new_tokens=512,
    do_sample=True,
    eos_token_id=[pipe.tokenizer.convert_tokens_to_ids("<end_of_turn>"), pipe.tokenizer.eos_token_id],
    temperature=0.67,
)

generated_text = outputs[0]['generated_text']
response = generated_text[len(prompt):]
print(response)

Example 1

messages = [
    {"role": "user", "content": """Bir web sayfasฤฑndan tรผm URLโ€™leri รงeken bir Python fonksiyonu yazฤฑn ve nasฤฑl รงalฤฑลŸtฤฑฤŸฤฑnฤฑ aรงฤฑklayฤฑn."""},
]
Bir web sayfasฤฑndan tรผm URLโ€™leri รงeken bir Python fonksiyonu yazalฤฑm ve nasฤฑl รงalฤฑลŸtฤฑฤŸฤฑnฤฑ aรงฤฑklayalฤฑm.

```python
import requests

def get_urls_from_page(url):
  """
  
  Bir web sayfasฤฑndan tรผm URL'leri รงeker.

  Args:
      url (str): Web sayfasฤฑnฤฑn URL'i.

  Returns:
      list: Web sayfasฤฑndaki tรผm URL'ler.
  """
  response = requests.get(url)
  response.raise_for_status()

  urls = []
  for link in response.html.find_all('a', href=True):
    urls.append(link['href'])

  return urls

# ร–rnek kullanฤฑm

web_page_url = 'https://www.example.com/'
all_urls = get_urls_from_page(web_page_url)
print(f"Bu web sayfasฤฑndaki {len(all_urls)} URL bulunmaktadฤฑr:\n{all_urls}")
```

**Fonksiyonun nasฤฑl รงalฤฑลŸtฤฑฤŸฤฑ:**

1. **`requests` kรผtรผphanesini iรงer:** Bu kรผtรผphane web sayfalarฤฑna eriลŸmek iรงin kullanฤฑlฤฑr.
2. **`get_urls_from_page` fonksiyonunu tanฤฑmla:** 
   * Bu fonksiyon, bir web sayfasฤฑnฤฑn URL'ini alฤฑr.
   * `requests.get()` kullanarak web sayfasฤฑna eriลŸir ve `response.raise_for_status()` kullanarak HTTP durum kodunun 200-399 aralฤฑฤŸฤฑnda olup olmadฤฑฤŸฤฑnฤฑ kontrol eder.
   * `response.html` iรงine bir HTML belgesini saklar.
   * `response.html.find_all('a', href=True)` kullanarak, `href` atributuna sahip tรผm `<a>` etiketlerini bulur. 
   * `urls` listesine URL'leri ekler.
   * `urls` listesini dรถndรผrรผr.

3. **ร–rnek kullanฤฑm:**

   * `web_page_url` deฤŸiลŸkenine bir web sayfasฤฑnฤฑn URL'ini atar.
   * `get_urls_from_page` fonksiyonunu kullanarak web sayfasฤฑndan tรผm URL'leri รงeker.
   * `all_urls` listesini `print()` fonksiyonu kullanarak ekrana yazdฤฑr

Example 2

messages = [
    {
        "role": "system",
        "content":
          """
          Sen bir tรผrkรงe bilmece ustasฤฑsฤฑn. Gรถrevin:
            - Sorulan bilmecelere mantฤฑklฤฑ ve doฤŸru cevaplar vermek
            - Bilmecenin รงรถzรผmรผnรผ adฤฑm adฤฑm aรงฤฑklamak
          """
    },
    {
        "role": "user",
        "content":
          """
            Kanadฤฑ var, kuลŸ deฤŸil.
            Suda yรผzer, gemi deฤŸil.
            KuyruฤŸu var, kedi deฤŸil.
            Bil bakalฤฑm, bu nedir?
          """
    },
]
Kanadฤฑ var, kuลŸ deฤŸil, suda yรผzer, gemi deฤŸil, kuyruฤŸu var, kedi deฤŸil... Bu bir **balฤฑk**! ๐ŸŸ

Citation

@misc{orpogemma2-9b-tr,
  author = {Selim ร‡avaลŸ},
  title = {OrpoGemma-2-9B-TR: Turkish Fine-tuned Gemma Model},
  year = {2024},
  url = {https://huggingface.co/selimc/OrpoGemma-2-9B-TR}
}
Downloads last month
137
Safetensors
Model size
9B params
Tensor type
F16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for selimc/OrpoGemma-2-9B-TR

Base model

google/gemma-2-9b
Finetuned
(383)
this model

Dataset used to train selimc/OrpoGemma-2-9B-TR

Evaluation results