kayrab commited on
Commit
bebda9d
·
verified ·
1 Parent(s): 3e8c51f

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +260 -178
README.md CHANGED
@@ -1,199 +1,281 @@
1
  ---
2
- library_name: transformers
3
- tags: []
 
 
 
 
 
 
 
 
 
 
 
4
  ---
5
 
6
- # Model Card for Model ID
7
 
8
- <!-- Provide a quick summary of what the model is/does. -->
9
 
 
10
 
 
11
 
12
- ## Model Details
13
 
14
- ### Model Description
15
 
16
- <!-- Provide a longer summary of what this model is. -->
 
17
 
18
- This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated.
 
 
 
 
 
 
19
 
20
- - **Developed by:** [More Information Needed]
21
- - **Funded by [optional]:** [More Information Needed]
22
- - **Shared by [optional]:** [More Information Needed]
23
- - **Model type:** [More Information Needed]
24
- - **Language(s) (NLP):** [More Information Needed]
25
- - **License:** [More Information Needed]
26
- - **Finetuned from model [optional]:** [More Information Needed]
27
 
28
- ### Model Sources [optional]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
- <!-- Provide the basic links for the model. -->
31
 
32
- - **Repository:** [More Information Needed]
33
- - **Paper [optional]:** [More Information Needed]
34
- - **Demo [optional]:** [More Information Needed]
35
 
36
- ## Uses
 
 
37
 
38
- <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
39
 
40
- ### Direct Use
 
 
 
 
41
 
42
- <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
 
43
 
44
- [More Information Needed]
 
45
 
46
- ### Downstream Use [optional]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
- <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
49
-
50
- [More Information Needed]
51
-
52
- ### Out-of-Scope Use
53
-
54
- <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
55
-
56
- [More Information Needed]
57
-
58
- ## Bias, Risks, and Limitations
59
-
60
- <!-- This section is meant to convey both technical and sociotechnical limitations. -->
61
-
62
- [More Information Needed]
63
-
64
- ### Recommendations
65
-
66
- <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
67
-
68
- Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
69
-
70
- ## How to Get Started with the Model
71
-
72
- Use the code below to get started with the model.
73
-
74
- [More Information Needed]
75
-
76
- ## Training Details
77
-
78
- ### Training Data
79
-
80
- <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
81
-
82
- [More Information Needed]
83
-
84
- ### Training Procedure
85
-
86
- <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
87
-
88
- #### Preprocessing [optional]
89
-
90
- [More Information Needed]
91
-
92
-
93
- #### Training Hyperparameters
94
-
95
- - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
96
-
97
- #### Speeds, Sizes, Times [optional]
98
-
99
- <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
100
-
101
- [More Information Needed]
102
-
103
- ## Evaluation
104
-
105
- <!-- This section describes the evaluation protocols and provides the results. -->
106
-
107
- ### Testing Data, Factors & Metrics
108
-
109
- #### Testing Data
110
-
111
- <!-- This should link to a Dataset Card if possible. -->
112
-
113
- [More Information Needed]
114
-
115
- #### Factors
116
-
117
- <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
118
-
119
- [More Information Needed]
120
-
121
- #### Metrics
122
-
123
- <!-- These are the evaluation metrics being used, ideally with a description of why. -->
124
-
125
- [More Information Needed]
126
-
127
- ### Results
128
-
129
- [More Information Needed]
130
-
131
- #### Summary
132
-
133
-
134
-
135
- ## Model Examination [optional]
136
-
137
- <!-- Relevant interpretability work for the model goes here -->
138
-
139
- [More Information Needed]
140
-
141
- ## Environmental Impact
142
-
143
- <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
144
-
145
- Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
146
-
147
- - **Hardware Type:** [More Information Needed]
148
- - **Hours used:** [More Information Needed]
149
- - **Cloud Provider:** [More Information Needed]
150
- - **Compute Region:** [More Information Needed]
151
- - **Carbon Emitted:** [More Information Needed]
152
-
153
- ## Technical Specifications [optional]
154
-
155
- ### Model Architecture and Objective
156
-
157
- [More Information Needed]
158
-
159
- ### Compute Infrastructure
160
-
161
- [More Information Needed]
162
-
163
- #### Hardware
164
-
165
- [More Information Needed]
166
-
167
- #### Software
168
-
169
- [More Information Needed]
170
-
171
- ## Citation [optional]
172
-
173
- <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
174
-
175
- **BibTeX:**
176
-
177
- [More Information Needed]
178
-
179
- **APA:**
180
-
181
- [More Information Needed]
182
-
183
- ## Glossary [optional]
184
-
185
- <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
186
-
187
- [More Information Needed]
188
-
189
- ## More Information [optional]
190
-
191
- [More Information Needed]
192
-
193
- ## Model Card Authors [optional]
194
-
195
- [More Information Needed]
196
-
197
- ## Model Card Contact
198
-
199
- [More Information Needed]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ license: mit
3
+ language: tr
4
+ base_model: ytu-ce-cosmos/turkish-gpt2-large
5
+ pipeline_tag: question-answering
6
+ tags:
7
+ - turkish
8
+ - gpt2
9
+ - text-generation
10
+ - question-answering
11
+ - instruction-following
12
+ - gpt4o
13
+ - fine-tuning
14
+ - lora
15
  ---
16
 
17
+ # Turkish GPT-2 Large - GPT-4o Soru-Cevap İnce Ayarlı Model (kayrab/turkish-gpt2-large-gpt4o-qa)
18
 
19
+ Bu model, [ytu-ce-cosmos/turkish-gpt2-large](https://huggingface.co/ytu-ce-cosmos/turkish-gpt2-large) temel alınarak, belirli bir soru-cevap veri kümesi üzerinde **LoRA (Low-Rank Adaptation)** yöntemiyle ince ayarlanmış (fine-tuned) bir Türkçe dil modelidir.
20
 
21
+ ## Model Açıklaması
22
 
23
+ Model, kendisine `<SORU>` ve `<CEVAP>` etiketleriyle yapılandırılmış bir biçimde sunulan sorulara yanıt vermek üzere eğitilmiştir. Eğitimde kullanılan cevaplar **GPT-4o** modeli tarafından üretilmiştir. Amaç, temel modelin belirli bir talimat biçimine uyarak tutarlı ve bağlama uygun cevaplar üretme yeteneğini geliştirmektir.
24
 
25
+ ## Eğitim Verisi
26
 
27
+ Model, aşağıdaki yapıya sahip bir `.csv` dosyasındaki verilerle eğitilmiştir:
28
 
29
+ * **Soru:** Türkçe sorunun metni.
30
+ * **gpt4o cevabı:** İlgili soru için GPT-4o tarafından üretilmiş cevap metni.
31
 
32
+ Eğitim sırasında veri, modelin girdi/çıktı sınırlarını anlaması için özel etiketlerle biçimlendirilmiştir:
33
+ ```python
34
+ <SORU> [Soru metni buraya gelecek] </SORU> <CEVAP> [Cevap metni buraya gelecek] </CEVAP><|endoftext|>
35
+ ```
36
+ * `<SORU>` ve `</SORU>`: Sorunun başlangıcını ve bitişini işaretler.
37
+ * `<CEVAP>` ve `</CEVAP>`: Cevabın başlangıcını ve bitişini işaretler.
38
+ * `<|endoftext|>`: GPT-2'nin standart metin sonu (EOS) belirteci olup, her örneğin bittiğini gösterir.
39
 
40
+ Bu özel belirteçler tokenizer'a eklenmiş ve modelin kelime dağarcığı genişletilmiştir.
 
 
 
 
 
 
41
 
42
+ ## Eğitim Prosedürü
43
+
44
+ Model, Hugging Face `transformers` ve `trl` (Transformer Reinforcement Learning) kütüphaneleri kullanılarak `SFTTrainer` (Supervised Fine-tuning Trainer) ile eğitilmiştir. Eğitimde kullanılan temel hiperparametreler şunlardır:
45
+
46
+ * **Öğrenme Oranı (Learning Rate):** 1e-4
47
+ * **Batch Büyüklüğü (Per Device):** 2
48
+ * **Gradyan Biriktirme Adımları (Gradient Accumulation Steps):** 8 (Etkin batch büyüklüğü: 2 * 8 * #GPU)
49
+ * **Epoch Sayısı:** 2
50
+ * **Maksimum Sekans Uzunluğu (Max Sequence Length):** 1024 token
51
+ * **Optimizatör (Optimizer):** paged_adamw_8bit (Bellek verimliliği için)
52
+ * **Ağırlık Azaltma (Weight Decay):** 0.01
53
+ * **Isınma Oranı (Warmup Ratio):** 0.03
54
+ * **LR Zamanlayıcı Tipi (LR Scheduler Type):** linear
55
+ * **Maksimum Gradyan Normu (Max Grad Norm):** 0.1
56
+ * **LoRA Rank (r):** 8
57
+ * **LoRA Alpha (α):** 16
58
+ * **LoRA Hedef Modüller (Target Modules):** `c_attn`, `c_proj`, `c_fc` (GPT-2 mimarisine uygun dikkat ve feed-forward katmanları)
59
+ * **Eğitim Hassasiyeti:** fp16
60
 
61
+ Eğitim sırasında, padding belirteçleri ve özel `<SORU>`, `</SORU>`, `<CEVAP>` belirteçleri kayıp (loss) hesaplamasından maskelenmiştir (`ignore_index = -100`). Yalnızca cevap kısmındaki (`</CEVAP>` hariç) belirteçler üzerinden öğrenme gerçekleşmiştir.
62
 
 
 
 
63
 
64
+ ## Eğitim Kayıp Grafiği (Training Loss):
65
+ Eğitim süreci boyunca kayıp değerinin (loss) değişimi aşağıdaki grafikte görülebilir.
66
+ ![eğitim kayıp görseli](train_loss.png)
67
 
68
+ ## Nasıl Kullanılır
69
 
70
+ Modeli `transformers` kütüphanesi ile kolayca kullanabilirsiniz. Model, girdiyi eğitimde kullanılan biçimde beklemektedir (`<SORU> ... </SORU> <CEVAP>`).
71
+
72
+ ```python
73
+ from transformers import AutoModelForCausalLM, AutoTokenizer
74
+ import torch
75
 
76
+ # Model ve tokenizer adını belirtin
77
+ model_name = "kayrab/turkish-gpt2-large-gpt4o-qa"
78
 
79
+ # Tokenizer'ı yükleyin (use_fast=True önerilir)
80
+ tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=True)
81
 
82
+ # Modeli yükleyin (GPU varsa otomatik olarak GPU'ya yükler)
83
+ # Düşük bellekli GPU'lar için dtype=torch.float16 veya torch.bfloat16 kullanabilirsiniz
84
+ model = AutoModelForCausalLM.from_pretrained(
85
+ model_name,
86
+ # torch_dtype=torch.float16, # Opsiyonel: fp16 kullanmak için
87
+ device_map="auto" # Modeli uygun cihaza (GPU/CPU) dağıtır
88
+ )
89
+
90
+ # Kullanılacak soruyu tanımlayın
91
+ soru = "Türkiye'nin en kalabalık şehri hangisidir ve neden önemlidir?"
92
+
93
+ # Soruyu modelin beklediği biçime getirin
94
+ # Dikkat: Prompt'un sonunda <CEVAP> etiketi ve bir boşluk olmalı!
95
+ prompt = f"<SORU> {soru} </SORU> <CEVAP> "
96
+
97
+ # Girdiyi token'lara çevirin ve modelin cihazına gönderin
98
+ inputs = tokenizer(prompt, return_tensors="pt", return_attention_mask=False).to(model.device)
99
+
100
+ # Cevap üretme parametreleri
101
+ # </CEVAP> token'ını EOS (End Of Sentence) olarak kullanacağız
102
+ eos_token_id = tokenizer.convert_tokens_to_ids("</CEVAP>")
103
+ if eos_token_id == tokenizer.unk_token_id: # Eğer token eklenmemişse (nadiren olur)
104
+ eos_token_id = tokenizer.eos_token_id
105
 
106
+ # Metin üretme (generate) fonksiyonunu çağırın
107
+ outputs = model.generate(
108
+ **inputs,
109
+ max_new_tokens=150, # Üretilecek maksimum yeni token sayısı
110
+ eos_token_id=eos_token_id, # Bu token üretildiğinde dur
111
+ pad_token_id=tokenizer.eos_token_id, # Padding için EOS kullan
112
+ do_sample=True, # Olasılıksal örnekleme yap
113
+ temperature=0.7, # Daha tutarlı çıktılar için sıcaklığı düşür
114
+ top_p=0.9, # Nucleus sampling
115
+ no_repeat_ngram_size=3 # 3-gram tekrarını engelle
116
+ )
117
+
118
+ # Üretilen tokenları alın (girdi prompt'u hariç)
119
+ output_tokens = outputs[0, inputs["input_ids"].shape[1]:]
120
+
121
+ # Tokenları metne çevirin
122
+ # skip_special_tokens=True, özel token'ları (örn: <|endoftext|>) çıktıdan kaldırır
123
+ cevap = tokenizer.decode(output_tokens, skip_special_tokens=True)
124
+
125
+ # </CEVAP> etiketi kalıntılarını temizle (generate bazen tam EOS'ta durmaz)
126
+ cevap_temiz = cevap.split("</CEVAP>")[0].strip()
127
+
128
+ print("-" * 20)
129
+ print(f"Soru: {soru}")
130
+ print("-" * 20)
131
+ print(f"Üretilen Cevap: {cevap_temiz}")
132
+ print("-" * 20)
133
+
134
+ # Örnek Çıktı (Modele göre değişebilir):
135
+ # --------------------
136
+ # Soru: Türkiye'nin en kalabalık şehri hangisidir ve neden önemlidir?
137
+ # --------------------
138
+ # Üretilen Cevap: Türkiye'nin en kalabalık şehri İstanbul'dur. İstanbul, tarihi, kültürel ve ekonomik açıdan büyük bir öneme sahiptir. İki kıtayı birbirine bağlayan stratejik konumu, zengin tarihi mirası ve Türkiye ekonomisinin merkezi olması nedeniyle önemlidir.
139
+ # --------------------
140
+ ```
141
+ ## Değerlendirme Sonuçları
142
+ Modelin performansı, eğitim veri kümesinde bulunmayan, özel olarak hazırlanmış bir soru kümesi üzerinde de sınanmıştır. Bu sınama için kullanılan sorular ve modelin ürettiği cevaplar `gpt2_large_gpt4o.csv` dosyasında yer almaktadır.
143
+ [gpt2_large_gpt4o.csv](gpt2_large_gpt4o.csv) dosyasını inceleyerek modelin farklı türdeki sorulara verdiği yanıtların kalitesini görebilirsiniz.
144
+ ## Sınırlılıklar ve Dikkat Edilmesi Gerekenler
145
+ * Modelin performansı, girdi sorusunun eğitim verisindeki biçim ve tarza ne kadar benzediğine bağlıdır.
146
+ * Model, temel modelden (turkish-gpt2-large) ve eğitim verisinden (GPT-4o cevapları) kaynaklanan yanlılıkları (bias) miras almış olabilir.
147
+ * Üretilen cevapların doğruluğu her zaman garanti edilmez ve kritik uygulamalar için kontrol edilmelidir.
148
+ * Model, `<SORU> ... </SORU> <CEVAP>` biçimi dışında verilen girdilere beklenmedik veya anlamsız yanıtlar üretebilir.
149
+
150
+ # Turkish GPT-2 Large - GPT-4o Question-Answering Fine-tuned Model (kayrab/turkish-gpt2-large-gpt4o-qa)
151
+
152
+ This model is a Turkish language model fine-tuned using the **LoRA (Low-Rank Adaptation)** method on a specific question-answering dataset, based on [ytu-ce-cosmos/turkish-gpt2-large](https://huggingface.co/ytu-ce-cosmos/turkish-gpt2-large).
153
+
154
+ ## Model Description
155
+
156
+ The model is trained to respond to questions presented in a structured format with `<SORU>` and `<CEVAP>` tags. The answers used during training were generated by the **GPT-4o** model. The goal is to enhance the base model's ability to produce consistent and contextually appropriate answers following a specific instruction format.
157
+ ## Training Data
158
+
159
+ The model was trained on data from a `.csv` file with the following structure:
160
+
161
+ * **Soru:** The text of the Turkish question.
162
+ * **gpt4o cevabı:** The answer text generated by GPT-4o for the corresponding question.
163
+
164
+ During training, the data was formatted with special tags to help the model understand input/output boundaries:
165
+ ```python
166
+ <SORU> [Question text here] </SORU> <CEVAP> [Answer text here] </CEVAP><|endoftext|>
167
+ ```
168
+ * `<SORU>` and `</SORU>`: Mark the beginning and end of the question.
169
+ * `<CEVAP>` and `</CEVAP>`: Mark the beginning and end of the answer.
170
+ * `<|endoftext|>`: GPT-2's standard end-of-text (EOS) token, indicating the end of each example.
171
+ These special tokens were added to the tokenizer, expanding the model's vocabulary.
172
+
173
+ ## Training Procedure
174
+
175
+ The model was trained using the Hugging Face `transformers` and `trl` (Transformer Reinforcement Learning) libraries with the `SFTTrainer` (Supervised Fine-tuning Trainer). The core hyperparameters used during training are:
176
+
177
+ * **Learning Rate:** 1e-4
178
+ * **Batch Size (Per Device):** 2
179
+ * **Gradient Accumulation Steps:** 8 (Effective batch size: 2 * 8 * #GPUs)
180
+ * **Number of Epochs:** 2
181
+ * **Maximum Sequence Length:** 1024 tokens
182
+ * **Optimizer:** paged_adamw_8bit (For memory efficiency)
183
+ * **Weight Decay:** 0.01
184
+ * **Warmup Ratio:** 0.03
185
+ * **LR Scheduler Type:** linear
186
+ * **Max Grad Norm:** 0.1
187
+ * **LoRA Rank (r):** 8
188
+ * **LoRA Alpha (α):** 16
189
+ * **LoRA Target Modules:** `c_attn`, `c_proj`, `c_fc` (Attention and feed-forward layers suitable for GPT-2 architecture)
190
+ * **Training Precision:** fp16
191
+
192
+ During training, padding tokens and the special tokens `<SORU>`, `</SORU>`, `<CEVAP>` were masked from the loss calculation (`ignore_index = -100`). Learning occurred only over the tokens in the answer part (excluding `</CEVAP>`).
193
+
194
+
195
+ ## Training Loss Graph:
196
+ The change in the loss value during the training process can be seen in the graph below.
197
+ ![Training Loss Image](train_loss.png)
198
+
199
+ ## How to Use
200
+
201
+ You can easily use the model with the `transformers` library. The model expects the input in the format used during training (`<SORU> ... </SORU> <CEVAP>`).
202
+
203
+ ```python
204
+ from transformers import AutoModelForCausalLM, AutoTokenizer
205
+ import torch
206
+
207
+ # Specify the model and tokenizer name
208
+ model_name = "kayrab/turkish-gpt2-large-gpt4o-qa"
209
+
210
+ # Load the tokenizer (use_fast=True is recommended)
211
+ tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=True)
212
+
213
+ # Load the model (automatically loads to GPU if available)
214
+ # For low-memory GPUs, you can use dtype=torch.float16 or torch.bfloat16
215
+ model = AutoModelForCausalLM.from_pretrained(
216
+ model_name,
217
+ # torch_dtype=torch.float16, # Optional: to use fp16
218
+ device_map="auto" # Distributes the model to the appropriate device (GPU/CPU)
219
+ )
220
+
221
+ # Define the question to use
222
+ soru = "Türkiye'nin en kalabalık şehri hangisidir ve neden önemlidir?" # "Which is Turkey's most populous city and why is it important?"
223
+
224
+ # Format the question into the format expected by the model
225
+ # Note: The prompt must end with the <CEVAP> tag and a space!
226
+ prompt = f"<SORU> {soru} </SORU> <CEVAP> "
227
+
228
+ # Tokenize the input and send it to the model's device
229
+ inputs = tokenizer(prompt, return_tensors="pt", return_attention_mask=False).to(model.device)
230
+
231
+ # Answer generation parameters
232
+ # We will use the </CEVAP> token as EOS (End Of Sentence)
233
+ eos_token_id = tokenizer.convert_tokens_to_ids("</CEVAP>")
234
+ if eos_token_id == tokenizer.unk_token_id: # If the token wasn't added (rarely happens)
235
+ eos_token_id = tokenizer.eos_token_id
236
+
237
+ # Call the text generation (generate) function
238
+ outputs = model.generate(
239
+ **inputs,
240
+ max_new_tokens=150, # Maximum number of new tokens to generate
241
+ eos_token_id=eos_token_id, # Stop when this token is generated
242
+ pad_token_id=tokenizer.eos_token_id, # Use EOS for padding
243
+ do_sample=True, # Perform probabilistic sampling
244
+ temperature=0.7, # Lower temperature for more consistent outputs
245
+ top_p=0.9, # Nucleus sampling
246
+ no_repeat_ngram_size=3 # Prevent 3-gram repetition
247
+ )
248
+
249
+ # Get the generated tokens (excluding the input prompt)
250
+ output_tokens = outputs[0, inputs["input_ids"].shape[1]:]
251
+
252
+ # Decode the tokens into text
253
+ # skip_special_tokens=True removes special tokens (e.g., <|endoftext|>) from the output
254
+ cevap = tokenizer.decode(output_tokens, skip_special_tokens=True)
255
+
256
+ # Clean up any </CEVAP> tag remnants (generate sometimes doesn't stop exactly at EOS)
257
+ cevap_temiz = cevap.split("</CEVAP>")[0].strip()
258
+
259
+ print("-" * 20)
260
+ print(f"Soru (Question): {soru}")
261
+ print("-" * 20)
262
+ print(f"Üretilen Cevap (Generated Answer): {cevap_temiz}")
263
+ print("-" * 20)
264
+
265
+ # Example Output (May vary depending on the model):
266
+ # --------------------
267
+ # Soru (Question): Türkiye'nin en kalabalık şehri hangisidir ve neden önemlidir?
268
+ # --------------------
269
+ # Üretilen Cevap (Generated Answer): Türkiye'nin en kalabalık şehri İstanbul'dur. İstanbul, tarihi, kültürel ve ekonomik açıdan büyük bir öneme sahiptir. İki kıtayı birbirine bağlayan stratejik konumu, zengin tarihi mirası ve Türkiye ekonomisinin merkezi olması nedeniyle önemlidir.
270
+ # (English: Turkey's most populous city is Istanbul. Istanbul holds great importance historically, culturally, and economically. It is important due to its strategic location connecting two continents, its rich historical heritage, and being the center of Turkey's economy.)
271
+ # --------------------
272
+ ```
273
+ ## Evaluation Results
274
+ The model's performance was also tested on a custom set of questions not present in the training dataset. The questions used for this test and the answers generated by the model are available in the `gpt2_large_gpt4o.csv` file.
275
+ You can examine the quality of the model's responses to different types of questions by reviewing the [gpt2_large_gpt4o.csv](gpt2_large_gpt4o.csv) file.
276
+
277
+ ## Limitations and Considerations
278
+ * The model's performance depends on how closely the input question resembles the format and style of the training data.
279
+ * The model may have inherited biases from the base model (`turkish-gpt2-large`) and the training data (GPT-4o answers).
280
+ * The accuracy of the generated answers is not always guaranteed and should be verified for critical applications.
281
+ * The model might produce unexpected or nonsensical responses to inputs given outside the `<SORU> ... </SORU> <CEVAP>` format.