|
|
| --- |
| tags: |
| - text-generation |
| - pytorch |
| - llm |
| - custom-tokenizer |
| --- |
| |
| # TinyLLM - Word-Level GPT Model (Türkçe) |
|
|
| Bu depo, Türkçe kelime düzeyinde bir GPT modelini içerir. Model, belirli bir soru-cevap formatındaki metin üzerinde eğitilmiştir. |
|
|
| ## Model Detayları |
| - **Mimari**: Custom GPT (Transformer tabanlı) |
| - **Tokenizasyon**: Kelime düzeyinde `WordTokenizer` sınıfı (NLTK punkt tabanlı) |
| - **Dil**: Türkçe |
| - **Özel Tokenlar**: {"<pad>": 0, "<unk>": 1, "<bos>": 2, "<eos>": 3} |
|
|
| ## Parametreler |
| - `n_embd`: 256 |
| - `n_head`: 8 |
| - `n_layer`: 6 |
| - `block_size`: 128 |
| - `dropout`: 0.1 |
|
|
| ## Yükleme ve Kullanım |
|
|
| Bu modeli kullanmak için model ağırlıklarını ve tokenizer dosyalarını indirmeniz gerekmektedir. `WordTokenizer` sınıfının ve model mimarisinin tanımı eğitim kodunda bulunmaktadır. |
|
|
| ```python |
| # Örnek kullanım (eğitim kodundan ilgili sınıfları kopyalayınız) |
| # from huggingface_hub import hf_hub_download |
| # import torch.nn as nn |
| # ... (WordTokenizer ve TinyLLM sınıfları buraya gelecek) ... |
| |
| # model_path = hf_hub_download(repo_id="syko818121/tiny-llm-word-level", filename="pytorch_model.bin") |
| # word_to_id_path = hf_hub_download(repo_id="syko818121/tiny-llm-word-level", filename="tokenizer_word_to_id.json") |
| # id_to_word_path = hf_hub_download(repo_id="syko818121/tiny-llm-word-level", filename="tokenizer_id_to_word.json") |
| |
| # with open(word_to_id_path, "r", encoding="utf-8") as f: |
| # word_to_id_loaded = json.load(f) |
| # with open(id_to_word_path, "r", encoding="utf-8") as f: |
| # id_to_word_loaded = json.load(f) |
| |
| # special_tokens_loaded = {"<pad>": 0, "<unk>": 1, "<bos>": 2, "<eos>": 3} |
| # tokenizer_loaded = WordTokenizer(word_to_id_loaded, id_to_word_loaded, special_tokens_loaded) |
| # vocab_size_loaded = tokenizer_loaded.vocab_size |
| |
| # model_loaded = TinyLLM(vocab_size_loaded, special_tokens_loaded) |
| # model_loaded.load_state_dict(torch.load(model_path, map_location='cpu')) |
| # model_loaded.eval() |
| |
| # # Metin üretimi |
| # start_text = "Soru: Neden ağaç dikmeliyiz?" |
| # input_tokens = tokenizer_loaded.encode(start_text) |
| # input_tokens = [tokenizer_loaded.special_tokens['<bos>']] + input_tokens |
| # context = torch.tensor([input_tokens], dtype=torch.long) |
| |
| # generated_tokens = model_loaded.generate(context, max_new_tokens=50)[0].tolist() |
| # decoded_response = tokenizer_loaded.decode(generated_tokens[len(input_tokens):]) |
| |
| # print(f"Üretilen Metin: cevap : bağlar . soru : duyar artırmayı sağlar ve bardağı yere düşürürsen ne işe yarar ? cevap : gelecekteki alt satıra vermemelisin . soru : vücudundaki en sert bir yalan söylememeliyiz ? cevap : hediye amacı nedir ? cevap : itfaiyeyi ( sıvının içinde erir ve düşüncelerini anlamaya çalışmaktır") |
| ``` |
|
|