
เราแนะนำ
LATXA ซึ่งเป็นครอบครัวของแบบจำลองภาษาขนาดใหญ่สำหรับบาสก์ตั้งแต่ 7 ถึง 70 พันล้านพารามิเตอร์ Latxa ขึ้นอยู่กับ Llama 2 ซึ่งเรายังคงดำเนินการต่อในคลังข้อมูล Basque ใหม่ซึ่งประกอบด้วยเอกสาร 4.3m และโทเค็น 4.2b การระบุถึงความขาดแคลนของเกณฑ์มาตรฐานคุณภาพสูงสำหรับ Basque เราแนะนำชุดข้อมูลการประเมินแบบปรนัย 4 ชุด: EUSPOFICIONTY ซึ่งประกอบด้วยคำถาม 5,169 คำถามจากการสอบความสามารถทางภาษาทางการ; Eusreading ประกอบด้วย 352 คำถามการอ่านความเข้าใจ; Eustrivia ประกอบด้วย 1,715 คำถามเรื่องไม่สำคัญจาก 5 พื้นที่ความรู้; และ Eusexams ประกอบด้วย 16,046 คำถามจากการสอบสาธารณะ ในการประเมินที่กว้างขวางของเรา LATXA มีประสิทธิภาพสูงกว่ารุ่นเปิดก่อนหน้านี้ทั้งหมดที่เราเปรียบเทียบโดยระยะขอบขนาดใหญ่ นอกจากนี้ยังมีการแข่งขันกับ GPT-4 Turbo ในความสามารถทางภาษาและความเข้าใจแม้ว่าจะล้าหลังในการอ่านความเข้าใจและงานที่ใช้ความรู้มาก ทั้งแบบจำลองตระกูล LATXA รวมถึงชุดข้อมูล Corpora และชุดข้อมูลการประเมินผลใหม่ของเรานั้นเปิดเผยต่อสาธารณะภายใต้ใบอนุญาตเปิด ห้องชุดของเราช่วยให้สามารถทำการวิจัยที่ทำซ้ำได้เกี่ยวกับวิธีการสร้าง LLMs สำหรับภาษาที่มีทรัพยากรต่ำ
ใช้รหัสด้านล่างเพื่อเริ่มต้นกับรุ่น
from transformers import pipeline
pipe = pipeline ( "text-generation" , model = "HiTZ/latxa-7b-v1.1" )
text = "Euskara adimen artifizialera iritsi da!"
pipe ( text , max_new_tokens = 50 , num_beams = 5 )
>> [
{
'generated_text' : 'Euskara adimen artifizialera iritsi da! n Euskararen eta adimen artifizialaren arteko harremana aspaldikoa da,'
' baina azken urteotan aurrerapauso handiak eman dira arlo horretan'
}
]รหัสสำหรับรูปแบบการฝึกอบรมในคลัสเตอร์ Cineca HPC Leonardo โดยใช้ GPT-NEOX หากคุณฝึกอบรมคลัสเตอร์อื่นคุณจะต้องอัปเดตการตั้งค่าบางอย่าง ตรวจสอบเอกสาร GPT-NEOX หากคุณมีข้อสงสัย
กระบวนการฝึกอบรมแบ่งออกเป็นหลายขั้นตอน: การโหลดโมดูลที่ต้องการการสร้างสภาพแวดล้อมเสมือนจริงการติดตั้ง GPT-NEOX ดาวน์โหลดรุ่น LLAMA แปลงจุดตรวจสอบการดาวน์โหลดข้อมูลการประมวลผลข้อมูลล่วงหน้ากำหนดค่าการฝึกอบรมการตั้งค่า WANDB
ติดตั้งโมดูลที่จำเป็นสำหรับ GPT-NEOX คุณสามารถเพิ่มสิ่งนี้ลงใน .bashrc เพื่อให้โมดูลถูกโหลดโดยอัตโนมัติ:
module load profile/deeplrn
module load python/3.10.8--gcc--11.3.0
module load cuda/11.8
module load openmpi/4.1.4--gcc--11.3.0-cuda-11.8
module load zlib/1.2.13--gcc--11.3.0
module load git-lfsสร้างสภาพแวดล้อมเสมือนจริง:
python -m venv $WORK /environments/neox-env เปิดใช้งานสภาพแวดล้อมเสมือนจริง คุณสามารถเพิ่มสิ่งนี้ลงใน .bashrc เพื่อให้สภาพแวดล้อมเสมือนจริงเปิดใช้งานโดยอัตโนมัติ:
source $WORK /environments/neox-env/bin/activateโคลนที่เก็บและติดตั้งข้อกำหนด:
git clone https://github.com/EleutherAI/gpt-neox
cd gpt-neoxติดตั้งข้อกำหนด:
pip install -r requirements/requirements.txt
pip install -r requirements/requirements-wandb.txt
pip install -r requirements/requirements-flashattention.txt
python ./megatron/fused_kernels/setup.py install # optional, if using fused kernels เนื่องจากคลัสเตอร์ Leonardo ไม่มีการเชื่อมต่ออินเทอร์เน็ตจึงต้องใช้โหมดออฟไลน์ เปลี่ยนไดเรกทอรีการกำหนดค่า Wandb เริ่มต้น:
export WANDB_CONFIG_DIR= $HOME /.wandbเข้าสู่ระบบ Wandb:
wandb loginเปลี่ยน Wandb เป็นโหมดออฟไลน์:
wandb offline บันทึกจะถูกบันทึกไว้ในไดเรกทอรี $WORK/gpt-neox/wandb
เพื่อซิงค์บันทึกเป็น Wandb, Run:
wandb sync $WORK /gpt-neox/wandbดาวน์โหลดรุ่นดิบ Llama จากลิงค์ต่อไปนี้:
LLAMA-2-7B: https://huggingface.co/meta-llama/llama-2-7B
LLAMA-2-13B: https://huggingface.co/meta-llama/llama-2-13b
LLAMA-2-70B: https://huggingface.co/meta-llama/llama-2-70b
แปลงรูปแบบ Llama ดิบเป็นรูปแบบ NEOX โดยใช้สคริปต์ในไดเรกทอรี convert
cd convert
bash convert_raw_llama_weights_to_neox_7b.sh
bash convert_raw_llama_weights_to_neox_13b.sh
bash convert_raw_llama_weights_to_neox_70b.shดาวน์โหลดข้อมูลการเตรียมการจากลิงค์ต่อไปนี้:
euscrawl: https://huggingface.co/datasets/hitz/euscrawl
กอง: https://huggingface.co/datasets/eleutherai/pile
latxa v1.1: https://huggingface.co/datasets/hitz/latxa-corpus-v1.1
ข้อมูลประมวลผลล่วงหน้าโดยใช้สคริปต์ที่มีอยู่ในไดเรกทอรี preprocess :
หากต้องการประมวลผลชุดข้อมูลเสาเข็มให้เรียกใช้ bash preprocess_data_pile.sh
หากต้องการประมวลผลชุดข้อมูล LATXA V1 ให้เรียกใช้ bash preprocess_data_latxa-v1.sh
หากต้องการประมวลผลชุดข้อมูล LATXA v1.1 ให้เรียกใช้ bash preprocess_data_latxa-v1.1.sh
กำหนดค่าการฝึกอบรมการกำหนดค่าในไดเรกทอรี configs คุณสามารถใช้การกำหนดค่าที่มีอยู่เป็นเทมเพลต มีการกำหนดค่าฐานสองแบบซึ่งเป็นเรื่องธรรมดาสำหรับทุกรุ่นและรวมถึงรายละเอียดเช่นการตรวจสอบและการบันทึก อันแรกใช้สำหรับรุ่น 7B และ 13B และอีกรุ่นสำหรับรุ่น 70B การกำหนดค่าเพิ่มเติมแบ่งออกเป็น 4 โฟลเดอร์ขึ้นอยู่กับประเภทของพารามิเตอร์: ข้อมูล, deepspeed, hyperparameters และรุ่น
data : มีไฟล์การกำหนดค่าข้อมูลสำหรับ LATXA V1 และ V1.1deepspeed : มีไฟล์การกำหนดค่า DeepSpeed สำหรับศูนย์ 1hyperparameters : มีไฟล์การกำหนดค่า HyperParameters สำหรับ LATXA V1 และ V1.1 จากสามขนาดmodels : มีไฟล์การกำหนดค่าแบบจำลองสำหรับสามขนาด รันการฝึกอบรมโดยใช้สคริปต์ที่มีอยู่ในไดเรกทอรี train มีสคริปต์สำหรับ LATXA V1 และ V1.1 รุ่นสามขนาด ตัวอย่างเช่นการฝึกอบรม LATXA 7B v1.1, Run:
cd train/latxa-7b
bash llama-2-7b-v1.1.sh จุดตรวจ NEOX สามารถแปลงเป็น HF โดยใช้สคริปต์ convert_neox_to_hf.py สคริปต์ใช้พา ธ อินพุตเส้นทางเอาต์พุตการกำหนดค่าโมเดลความแม่นยำและสถาปัตยกรรมเป็นอาร์กิวเมนต์ คุณสามารถค้นหาตัวอย่างสคริปต์ในไดเรกทอรี convert ตัวอย่างเช่นในการแปลงรุ่น LATXA 7B v1.1 ให้เรียกใช้:
cd convert
bash convert_neox_to_hf_7b_v1.1.sh สคริปต์การประเมินผลสำหรับโมเดลแบบเปิดอยู่ในไดเรกทอรี scripts openai Directory มีสคริปต์สำหรับการประเมินโมเดล OpenAI ผลการประเมินอยู่ในไดเรกทอรี results
คุณจะต้องติดตั้งสายรัดการประเมิน LM โคลนที่เก็บและติดตั้งข้อกำหนด:
git clone https://github.com/EleutherAI/lm-evaluation-harness
cd lm-evaluation-harness
pip install -e . ในการเรียกใช้การประเมินผลบนโมเดลเปิดให้ใช้สคริปต์ในไดเรกทอรี scripts แต่ละสคริปต์ประเมินแบบจำลองในงานทั้งหมด ตัวอย่างเช่นในการเรียกใช้การประเมินผลบน Latxa v1.1 7b, Run:
sbatch lm_eval_latxa-7b-v1.1.slurm ผลการประเมินอยู่ในไดเรกทอรี results แต่ละรุ่นมีไดเรกทอรีที่มีผลลัพธ์ของการประเมินในแต่ละงาน ผลลัพธ์อยู่ในรูปแบบของไฟล์ JSON ที่มีคะแนนเฉลี่ยของโมเดลในแต่ละงาน
ในการเรียกใช้การประเมินผลในโมเดล OpenAI ให้ใช้สคริปต์ในไดเรกทอรี openai มีสคริปต์ Python เพื่อประเมินแต่ละชุดข้อมูลและสคริปต์ทุบตีสำหรับแต่ละรุ่นและชุดข้อมูล ตัวอย่างเช่นในการเรียกใช้การประเมินผลบน GPT-3.5 Turbo บน Eustrivia, Run:
bash gpt-3.5-turbo-0125_eus_trivia.sh ผลการประเมินอยู่ในไดเรกทอรี results แต่ละรุ่นมีไดเรกทอรีที่มีผลลัพธ์ของการประเมินในแต่ละงาน ในกรณีนี้ผลลัพธ์ทั้งหมดของโมเดลจะถูกบันทึกไว้สำหรับแต่ละงาน คะแนนสามารถคำนวณได้โดยใช้ฟิลด์ correct สำหรับ Eustrivia และ Eusexams มีสคริปต์เพิ่มเติมเพื่อให้ได้ผลลัพธ์โดยละเอียดตามหมวดหมู่ ตัวอย่างเช่นเพื่อให้ได้ผลลัพธ์โดยละเอียดสำหรับ GPT-3.5 Turbo บน Eustrivia, Run:
python calculate_accuracy_eus_trivia.pyเรายังคงอัปเดตและปรับปรุงรูปแบบพื้นฐานของเราส่วนนี้ครอบคลุมการเผยแพร่และการเปลี่ยนแปลงที่สำคัญที่เราทำ เราขอแนะนำให้ผู้ใช้ใช้เวอร์ชันล่าสุดที่มีอยู่เสมอ
งานนี้ได้รับการสนับสนุนบางส่วนโดยรัฐบาลบาสก์ (โครงการ iker-gaitu) นอกจากนี้ยังได้รับการสนับสนุนบางส่วนโดย Ministerio Para la Transformación Digital Y de la FunciónPública - ได้รับทุนจาก EU - NextGenerationeu ภายในกรอบของโครงการโดยอ้างอิง 2022/TL22/00215335 นางแบบได้รับการฝึกฝนเกี่ยวกับซุปเปอร์คอมพิวเตอร์ของ Leonardo ที่ Cineca ภายใต้การดำเนินการร่วมยูโรพีซีโครงการ EHPC-EXT-20123E01-013
เพื่ออ้างถึงงานของเราโปรดใช้:
@misc { etxaniz2024latxa ,
title = { Latxa: An Open Language Model and Evaluation Suite for Basque } ,
author = { Julen Etxaniz and Oscar Sainz and Naiara Perez and Itziar Aldabe and German Rigau and Eneko Agirre and Aitor Ormazabal and Mikel Artetxe and Aitor Soroa } ,
year = { 2024 } ,
eprint = { 2403.20266 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CL }
}