## 3 Materials and Methods
### Model Deployment, Fine-Tuning, and Predictive Evaluation
#### 3.3.1 GPT Model Deployment and Fine-Tuning  
In this phase, we deployed models from the GPT Omni family, specifically the gpt-4o and gpt-4o-mini versions, both in their original (base) forms and after additional training (fine-tuning), to classify news articles as either fake or not fake. Initially, we used the base models in a zero-shot setting, applying the prompt in Listing 1 to make predictions on the test set without any prior fine-tuning. Due to their comprehensive pre-training on extensive datasets, these GPT models can provide relatively accurate predictions even without further training. To enable interaction between our software and the GPT models, we utilized OpenAI's official API, which allowed us to submit prompts with article text from the feature column(text) and receive predictions in JSON format. We saved the predictions from each model in separate columns within the test_set.csv file for easy comparison. During fine-tuning, these models were further fine-tuned to enhance their accuracy by learning from prompt-response pairs in our training dataset. This additional training enabled the models to better capture subtle patterns and intricacies within the data. We employed a multi-epoch training strategy, which allowed the models to improve iteratively across multiple passes through the data, resulting in more precise predictions and better overall task performance. This iterative approach was key to equipping the models with a nuanced understanding that enhanced their predictive accuracy and insights in the later prediction phase. To conduct the fine-tuning, we created two JSONL files that included pairs of prompts and their corresponding completions, as outlined in Listing 2. **Listing 2. ** Prompt and completion pairs--JSONL files. {\"messages\": [[\"role\": \"system\",  
\"content\": \"You are an AI model tasked with predicting whether a news article is fake news.\"  
\"Respond with 0 for fake and 1 for not fake. Return your response in JSON format: \"  
\"{fake\": integer}.\"},  
{\"role\": \"user\", \"content\": \"...\"},  
{\"role\": \"assistant\", \"content\": \"['fake': 1]\"}]  
Following the creation of the validation and training JSONL files, we carried out two fine-tuning tasks by uploading the JSONL files through OpenAI's user interface. Each fine-tuning task was assigned a unique job ID for tracking, as follows: ftjob-9 qj8 DZgmx07 iwolsn8 JOnx7c and ftjob-v10 NfwXqreR6 rmZNFuNOeqLV. The first fine-tuning task was conducted with the gpt-4o model, which was trained on a dataset containing a total of 2,172,192 tokens. The model's training loss started at 0.6997 and gradually decreased to 0.0021, indicating consistent improvement in fitting the training data. After completing the fine-tuning, the model's validation loss--a measure of its ability to generalize--stood at 0.0037, demonstrating effective learning across the dataset. The second task involved fine-tuning the gpt-4o-mini model on the same dataset with 2,172,192 tokens. This model began with an initial training loss of 0.9899, which also dropped to 0.0081 over the course of fine-tuning. Its final validation loss reached 0.0075, reflecting its ability to generalize successfully. These training metrics underscore both models' suitability for the classification task and their robust learning during fine-tuning. Once the fine-tuning process was complete, we used both models to generate predictions on the same test set they had initially seen in their base versions. The results from each model were then stored in individual columns within the dataset, allowing for an organized comparison between the fine-tuned and base model predictions. As previously mentioned, the hyperparameters used during fine-tuning were consistent across all models: a learning rate of \(2\times 10^{-5}\), a batch size of 6, and three training epochs, ensuring fair training conditions.