pip install - r requirements . txt export KAGGLE_USERNAME= " your_kaggle_username "
export KAGGLE_KEY= " your_api_key "
export HF_TOKEN= " your_hf_token " sudo apt install unzipkaggle datasets download -d lizhecheng/lmsys-datasets
unzip lmsys-datasets.zipkaggle datasets download -d lizhecheng/lmsys-lora
unzip lmsys-lora.zip cd src
cd team gemma / cd team llama
python train_xxx.pyCliquez sur le code de formation complet
Vérifiez notre code sur LMSYS GitHub.
Nous utilisons le réglage des instructions, ce qui rend le format d'entrée crucial. Après avoir expérimenté divers formats, nous avons identifié l'approche optimale:
Tout d'abord, nous définissons une longueur maximale. Ensuite, nous concatenons plusieurs tours de paires de réponse rapide dans cette limite. Si une paire de réponse invite précédente dépasse la longueur maximale, la nouvelle paire de réponse invite est placée dans une ligne séparée. Par exemple, considérez les invites [P1, P2, P3] avec les réponses correspondantes [A1, A2, A3] et [B1, B2, B3]. Cette méthode nous permet de générer deux lignes: (P1, A1, B1) et (P2, A2, B2, P3, A3, B3), en supposant (P1, A1, B1) ne dépasse pas la longueur maximale. Cependant, pour la formation, nous n'utilisons que le dernier tour de la paire de réponse rapide pour chaque ID.
Cette approche offre deux avantages clés:
<start_of_turn>user
Here are two question-answering dialogues. Compare two models' performance on answering questions, determine which is better.
#Prompt1
xxxxx
#Response
##Model A
xxxxx
##Model B
xxxx
#Prompt2
xxxxx
#Response
............
###options
A. Model A
B. Model B
C. Tie
<end_of_turn>
<start_of_turn>model
A<eos>
4bit Qlora sur Gemma-2-9b-it et méta-llama-3.1-8b-instruct, paramètres: r = 32, modules = ["q_proj", "k_proj", "v_proj", "o_proj"].
Régler l'instruction au lieu de la classification.
Pas de gradient_checkpointing_enable () pour réduire le temps de formation.
Utilisé des données supplémentaires 33k pour le réglage fin et échantillonner les données 10k pour faire du TTA.
Grand CV divisé (80% / 20%) pour éviter les doublons entre le train et la validation.
GPU: multiples GPU A100 80 Go + GPU A40 multiples.
Réglez la température = 1,03 pour l'inférence.
Soumission1: Gemma-2-9b-it + llama-3.1-8b-it + gemma-2-2b-it & soumission2: gemma-2-9b-it + llama-3.1-8b-it + tta.
En raison de certaines personnes malveillantes, ce qui était autrefois une compétition très stable et significative est devenue l'un des pires de l'histoire de Kaggle.
Merci à toute l'équipe pour le travail acharné de tout le monde. Continuons à avancer!