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.py전체 훈련 코드를 클릭하십시오
LMSYS Github에서 코드를 확인하십시오.
우리는 명령 튜닝을 사용하여 입력 형식을 중요하게 만듭니다. 다양한 형식을 실험 한 후 최적의 접근 방식을 식별했습니다.
먼저 최대 길이를 정의합니다. 그런 다음이 한계 내에서 여러 회전의 프롬프트 응답 쌍을 연결합니다. 이전 프롬프트 응답 쌍이 최대 길이를 초과하면 새 프롬프트 응답 쌍이 별도의 행에 배치됩니다. 예를 들어, 상응하는 응답 [A1, A2, A3] 및 [B1, B2, B3]가있는 프롬프트 [P1, P2, P3]를 고려하십시오. 이 방법을 사용하면 (P1, A1, B1)과 (P1, A1, B1)가 최대 길이를 초과하지 않는다고 가정하면 (P1, A1, B1)과 (P2, A2, B2, P3, A3, B3)을 생성 할 수 있습니다. 그러나 훈련을 위해서는 각 ID에 대한 프롬프트 응답 쌍의 마지막 회전 만 사용합니다.
이 접근법은 두 가지 주요 장점을 제공합니다.
<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>
4 비트 QBIT QBOR-GEMMA-2-9B-IT 및 META-LLAMA-3.1-8B-비율, 매개 변수 : r = 32, 모듈 = [ "Q_Proj", "K_Proj", "V_PROJ", "O_PROJ"].
분류 대신 교육 조정.
교육 시간을 줄이기위한 gradient_checkpointing_enable () 없음.
미세 조정 및 샘플 10K 데이터에 추가 33K 데이터를 사용하여 TTA를 수행했습니다.
열차와 검증 간의 복제를 피하기 위해 CV 분할 (80% / 20%).
GPU : 다중 80GB A100 GPU + 다중 A40 GPU.
추론을 위해 온도 = 1.03을 설정하십시오.
제출 1 : 젬마 -2-9B-IT + llama-3.1-8B-IT + gemma-2-2b-IT & 제출 2 : 젬마 -2-9B-IT + llama-3.1-8b-IT + TTA.
악의적 인 사람들로 인해 한때 매우 안정적이고 의미있는 경쟁이었던 것은 Kaggle의 역사에서 최악의 경쟁으로 바뀌 었습니다.
모든 사람의 노력에 대한 팀 전체에 감사드립니다. 앞으로 계속 나아가 자!