| |
|
| | --- |
| | 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") |
| | ``` |
| |
|