
우리는 소개합니다
Basque의 대형 언어 모델 패밀리 인 Latxa는 7 ~ 70 억 파라미터입니다. Latxa는 Llama 2를 기반으로하며, 우리는 4.3m 문서와 4.2B 토큰으로 구성된 새로운 바스크 코퍼스에서 프리 트레인을 계속합니다. 바스크에 대한 고품질 벤치 마크의 부족을 해결하면서 우리는 4 개의 객관식 평가 데이터 세트를 더 소개합니다. 공식 언어 숙련 시험에서 5,169 개의 질문으로 구성된 추론; 352 개의 독해 질문으로 구성된 eusreading; 5 개의 지식 영역에서 1,715 개의 퀴즈 질문으로 구성된 Eustrivia; 공개 시험의 16,046 개의 질문으로 구성된 Eusexams. 우리의 광범위한 평가에서 Latxa는 우리가 큰 마진과 비교하는 모든 이전의 개방형 모델보다 우수합니다. 또한 독해력과 지식 집약적 인 작업에 뒤쳐져 있음에도 불구하고 언어 능력과 이해에있어서 GPT-4 터보와 경쟁력이 있습니다. LATXA 모델 제품군과 새로운 사전 여파 코포라 및 평가 데이터 세트 모두 공개 라이센스에 따라 공개적으로 제공됩니다. 당사의 스위트는 저수고 자원 소외 언어를위한 LLM을 구축하는 방법에 대한 재현 가능한 연구를 가능하게합니다.
아래 코드를 사용하여 모델을 시작하십시오.
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'
}
]GPT-Neox를 사용한 Cineca HPC Leonardo 클러스터의 교육 모델 코드. 다른 클러스터에서 훈련하는 경우 일부 설정을 업데이트해야합니다. 의심의 여지가있는 경우 GPT-Neox 문서를 확인하십시오.
교육 프로세스는 필요한 모듈로드, 가상 환경 생성, GPT-Neox 설치, LLAMA 모델 다운로드, 체크 포인트 변환, 데이터 다운로드, 데이터 전처리, 교육 구성 정의, WANDB 설정 및 NEOX 체크 포인트를 HF로 변환하는 여러 단계로 나뉩니다.
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 레오나르도 클러스터에 인터넷이 연결되어 있지 않으므로 오프라인 모드를 사용해야합니다. 기본 wandb 구성 디렉토리 변경 :
export WANDB_CONFIG_DIR= $HOME /.wandbWandb에 로그인 :
wandb loginwandb를 오프라인 모드로 변경 :
wandb offline 로그는 $WORK/gpt-neox/wandb 디렉토리에 저장됩니다.
로그를 wandb에 동기화하려면 실행 :
wandb sync $WORK /gpt-neox/wandb다음 링크에서 Raw 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
convert 디렉토리의 스크립트를 사용하여 Raw Llama 모델을 Neox 형식으로 변환하십시오.
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 개의 폴더로 나뉩니다.
data : Latxa V1 및 V1.1의 데이터 구성 파일이 포함되어 있습니다.deepspeed : Zero 1의 DeepSpeed 구성 파일이 포함되어 있습니다.hyperparameters : LATXA V1에 대한 하이퍼 파라미터 구성 파일과 세 가지 크기의 v1.1을 포함합니다.models : 세 가지 크기의 모델 구성 파일이 포함되어 있습니다. train Directory에서 사용 가능한 스크립트를 사용하여 교육을 실행하십시오. Latxa V1 및 v1.1 모델에 대한 스크립트가 세 가지 크기입니다. 예를 들어 Latxa 7b v1.1을 훈련시키기 위해 실행하십시오.
cd train/latxa-7b
bash llama-2-7b-v1.1.sh neox 체크 포인트는 convert_neox_to_hf.py 스크립트를 사용하여 HF로 변환 할 수 있습니다. 스크립트는 입력 경로, 출력 경로, 모델 구성, 정밀도 및 아키텍처를 인수로 사용합니다. convert 디렉토리에서 예제 스크립트를 찾을 수 있습니다. 예를 들어 Latxa 7b v1.1 모델을 변환하려면 실행하십시오.
cd convert
bash convert_neox_to_hf_7b_v1.1.sh 오픈 모델에 대한 평가 스크립트는 scripts 디렉토리에 있습니다. openai 디렉토리에는 OpenAI 모델을 평가하기위한 스크립트가 포함되어 있습니다. 평가 결과는 results 디렉토리에 있습니다.
LM 평가 하네스를 설치해야합니다. 저장소를 복제하고 요구 사항을 설치하십시오.
git clone https://github.com/EleutherAI/lm-evaluation-harness
cd lm-evaluation-harness
pip install -e . 열린 모델에 대한 평가를 실행하려면 scripts 디렉토리의 스크립트를 사용하십시오. 각 스크립트는 모든 작업에서 모델을 평가합니다. 예를 들어 Latxa v1.1 7b에서 평가를 실행하려면 실행합니다.
sbatch lm_eval_latxa-7b-v1.1.slurm 평가 결과는 results 디렉토리에 있습니다. 각 모델에는 각 작업의 평가 결과가 포함 된 디렉토리가 있습니다. 결과는 각 작업에서 모델의 평균 점수가있는 JSON 파일 형태입니다.
OpenAI 모델에 대한 평가를 실행하려면 openai 디렉토리의 스크립트를 사용하십시오. 각 데이터 세트를 평가하는 Python 스크립트와 각 모델 및 데이터 세트에 대한 Bash 스크립트가 있습니다. 예를 들어, Eustrivia에서 GPT-3.5 터보에 대한 평가를 실행하려면 실행하십시오.
bash gpt-3.5-turbo-0125_eus_trivia.sh 평가 결과는 results 디렉토리에 있습니다. 각 모델에는 각 작업의 평가 결과가 포함 된 디렉토리가 있습니다. 이 경우 모델의 모든 출력은 각 작업마다 저장됩니다. 점수는 correct 필드를 사용하여 계산할 수 있습니다. eustrivia 및 eusexams의 경우 카테고리별로 상세한 결과를 얻을 수있는 추가 스크립트가 있습니다. 예를 들어, Eustrivia에서 GPT-3.5 터보에 대한 자세한 결과를 얻으려면 실행하십시오.
python calculate_accuracy_eus_trivia.py우리는 기본 모델을 계속 업데이트하고 개선합니다.이 섹션에서는 주요 릴리스 및 변경 사항을 다룹니다. 사용자는 항상 사용 가능한 최신 버전을 사용하는 것이 좋습니다.
이 작업은 바스크 정부 (Iker-Gaitu Project)에 의해 부분적으로 지원되었습니다. 또한 EU가 자금을 지원하는 장관 Para La Transformación Digital Y De La Función Pública에 의해 부분적으로 지원되었습니다. 참조 2022/TL22/00215335가있는 프로젝트의 프레임 워크 내에서 NextGenerationeu. 이 모델은 Cineca의 Leonardo Supercomputer에서 EuroHPC 공동 사업, 프로젝트 EHPC-EXT-203E01-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 }
}