🚀 OrpoGemma-2-9B-TR
OrpoGemma-2-9B-TR 是 google/gemma-2-9b-it 的土耳其語微調版本。它使用 ORPO 訓練器,在數據集 selimc/orpo-dpo-mix-TR-20k 的 1500 行子集上進行訓練。

🚀 快速開始
本部分將為你介紹 OrpoGemma-2-9B-TR 模型的基本信息和使用方法。
✨ 主要特性
- 能夠生成流暢、連貫且符合上下文的土耳其語文本。
- 可以針對廣泛的指令和問題類型提供詳細且有價值的回覆。
📦 安裝指南
文檔未提及安裝步驟,暫無法提供。
💻 使用示例
基礎用法
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)
高級用法
示例 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."""},
]
示例 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?
"""
},
]
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
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}")
函數的工作原理:
-
引入 requests
庫:該庫用於訪問網頁。
-
定義 get_urls_from_page
函數:
- 該函數接收一個網頁的 URL。
- 使用
requests.get()
訪問網頁,並使用 response.raise_for_status()
檢查 HTTP 狀態碼是否在 200 - 399 範圍內。
- 將 HTML 文檔存儲在
response.html
中。
- 使用
response.html.find_all('a', href=True)
查找所有具有 href
屬性的 <a>
標籤。
- 將 URL 添加到
urls
列表中。
- 返回
urls
列表。
-
示例用法:
- 將網頁的 URL 賦值給
web_page_url
變量。
- 使用
get_urls_from_page
函數從網頁中提取所有 URL。
- 使用
print()
函數打印 all_urls
列表。
Kanadı var, kuş değil, suda yüzer, gemi değil, kuyruğu var, kedi değil... Bu bir **balık**! 🐟
📚 詳細文檔
訓練信息
QLoRA 配置
lora_r
: 16
lora_alpha
: 32
lora_dropout
: 0.05
ORPO 訓練參數
lr
: 2e-6
epochs
: 3
per_device_train_batch_size
: 8
gradient_accumulation_steps
: 4
📈 訓練曲線


OpenLLMTurkishLeaderboard_v0.2 結果
數據集 |
得分 |
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% |
平均 |
55.9% |
感謝 WiroAI 團隊對我的模型進行評估。評估未使用任何推理引擎。
模型能力
- 能夠生成流暢、連貫且符合上下文的土耳其語文本。
- 可以針對廣泛的指令和問題類型提供詳細且有價值的回覆。
- 可能仍會產生不正確或無意義的輸出,建議用戶進行驗證。
🔧 技術細節
文檔未提供詳細的技術實現細節,暫無法提供。
📄 許可證
本模型使用的許可證為 gemma。
引用
@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}
}