Edit model card

LLama3 Tabanlı Türkçe Dil Modeli: cbddobvyz/DDO_LLM_8B_v1

Cumhurbaşkanlığı Dijital Dönüşüm Ofisi (CBDDO) olarak sizlere kamu hizmetlerinde yapay zeka kullanımını yaygınlaştırmak ve verimliliği artırmak amacıyla LLaMA 3 mimarisini temel alan bir model sunuyoruz. Bu model, 6 milyar tokenlik geniş bir veri seti üzerinde eğitilmiş olup, 12 adet Tesla V100 GPU kullanılarak 4704 saatlik yoğun bir işlem sürecinde gerçekleştirilmiştir. Modelin eğitimi için, Türkçe dilbilgisi ve kültürel kurallar üzerinde hazırlanmış veri setleri ile dilin yapısını kavramasını sağlanmıştır.

Model Özellikleri:

  • Kullanılan Model: meta-llama/Meta-Llama-3-8B-Instruct
  • Toplam Token: 6 Milyar
  • GPU Konfigürasyonu: 12 adet Tesla V100 GPU
  • Toplam İşlem Süresi: 4704 GPU saati

Modelin Yetenekleri:

Dil Anlama ve Üretme: Metinleri anlama, özetleme, çeviri yapma, soru-cevap gibi görevleri yerine getirebilir. Mantık Yürütme: Karmaşık problemleri analiz etme ve çözüm üretme yeteneğine sahiptir. Matematiksel İşlem: Temel matematiksel işlemleri yapabilir ve problemleri çözebilir. Kod Üretme: Python, JavaScript, Java gibi popüler programlama dillerinde kod yazabilir.

Eğitim Veri Setleri:

Modelin eğitiminde kullanılan veri setleri, çeşitli dil anlama ve mantık yürütme görevlerini kapsamaktadır:

  • MMLU:: Çok çeşitli konularda bilgi ölçen bir test.
  • TruthfulQA:: Doğru ve güvenilir bilgi sağlama yeteneğini değerlendiren bir test.
  • ARC:: Okuma anlama ve mantık yürütme becerilerini ölçen bir test.
  • HellaSwag: Sağduyu ve çıkarım yapma yeteneklerini değerlendiren bir test.
  • GSM8K: İlkokul seviyesinde matematik problemlerini çözme yeteneğini ölçen bir test.
  • Winogrande: Anlam belirsizliğini giderme yeteneğini ölçen bir test.

Modelin Kullanım Adımları:

  1. Gerekli Kütüphaneleri Yükleyin:

    pip install transformers, torch
    
  2. Modeli Test Edin:

from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer, pipeline
import torch

model_id = "cbddobvyz/DDO_LLM_8B_v1"

model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,  
    device_map="auto",           
    trust_remote_code=True       
)

tokenizer = AutoTokenizer.from_pretrained(
    model_id,
    trust_remote_code=True       
)

streamer = TextStreamer(tokenizer)

text_generation_pipeline = pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    model_kwargs={"torch_dtype": torch.bfloat16},  
    streamer=streamer
)

messages = [
    {"role": "system", "content": "Her zaman düşünceli yanıtlar veren bir chatbot'sun."},
    {"role": "user", "content": "Mona Lisa tablosu hakkında ne düşünüyorsun?"}
]

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

terminators = [
    tokenizer.eos_token_id
]

outputs = text_generation_pipeline(
    prompt,
    max_new_tokens=2048,
    eos_token_id=terminators,
    do_sample=True,
    temperature=0.6,
    top_p=0.95
)

print(outputs[0]["generated_text"][len(prompt):])

Çıktı:

1503'te Leonardo da Vinci tarafından resmedilen Mona Lisa, 16. yüzyılda Avrupa'da resim sanatının en ünlü eserlerinden biridir. Eski bir İtalyan aristokratı olan Lisa del Giocondo'ya benzeyen bir kadın portresidir. Bu tablo, Leonardo da Vinci'nin en ünlü eserlerinden biri olarak kabul edilir ve sanatın en iyi örneklerinden biri olarak kabul edilir. Mona Lisa'nın önemi, resim sanatının gelişiminde ve sanat tarihi boyunca etkisinin büyüklüğüne dayanmaktadır.

Kod Yazma Örneği:

Bu örnekte, model bir metni büyük harfe çeviren bir Python fonksiyonu yazmaktadır:

from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer, pipeline
import torch

model_id = "cbddobvyz/DDO_LLM_8B_v1"

model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,  
    device_map="auto",           
    trust_remote_code=True       
)

tokenizer = AutoTokenizer.from_pretrained(
    model_id,
    trust_remote_code=True       
)

streamer = TextStreamer(tokenizer)

text_generation_pipeline = pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    model_kwargs={"torch_dtype": torch.bfloat16},  
    streamer=streamer
)

messages = [
    {"role": "system", "content": "Her zaman düşünceli yanıtlar veren bir chatbot'sun."},
    {"role": "user", "content": "Python dilinde 6 elemanlı bir liste oluştur. 1 - 50 arasında sayılar rastgele atansın. Sonra bu sayıları selection sort algoritması ile sırala."}
]

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

terminators = [
    tokenizer.eos_token_id
]

outputs = text_generation_pipeline(
    prompt,
    max_new_tokens=2048,
    eos_token_id=terminators,
    do_sample=True,
    temperature=0.6,
    top_p=0.95
)

print(outputs[0]["generated_text"][len(prompt):])

Çıktı: İşte Python'da 6 elemanlı bir liste oluşturup onu selection sort algoritmasıyla sıralayan bir kod:

import random

# 6 elemanlı bir liste oluşturun
liste = [random.randint(1, 50) for _ in range(6)]

# Liste için selection sort algoritmasını uygula
def selection_sort(liste):
    for i in range(len(liste)):
        min_index = i
        for j in range(i + 1, len(liste)):
            if liste[j] < liste[min_index]:
                min_index = j
        liste[i], liste[min_index] = liste[min_index], liste[i]
    return liste

# Sıralanan liste
sorted_list = selection_sort(liste)
print(sorted_list)

Bu kod, 6 elemanlı bir liste oluşturur, ardından bu sayıları selection sort algoritmasıyla sıralar. Sıralanan liste daha sonra yazdırılır.

Açıklama: Model, verilen istemi ("Python dilinde 6 elemanlı bir liste oluştur. 1 - 50 arasında sayılar rastgele atansın. Sonra bu sayıları selection sort algoritması ile sırala.") işleyerek, açıklamaları ve dokümantasyonu içeren tam teşekküllü bir Python kodunu oluşturur.

Gelecek Hedefleri:

CBDDO, yapay zeka teknolojilerinin kamu hizmetlerindeki potansiyelini daha da artırmak için çalışmalarına devam etmektedir. Bu kapsamda, modelin daha büyük veri setleri üzerinde eğitilmesi ve farklı görevlerde ince ayar yapılması planlanmaktadır.

Downloads last month
38
Safetensors
Model size
8.03B params
Tensor type
F32
·
Inference API
Input a message to start chatting with cbddobvyz/DDO_LLM_8B_v1.
Model is too large to load in Inference API (serverless). To try the model, launch it on Inference Endpoints (dedicated) instead.