File size: 2,735 Bytes
8ea5a53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

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