10초 안에 대규모 언어 모델 편집
이 저장소는 개발자가 단일 명령을 사용하여 효율적으로 대규모 언어 모델에 새로운 맞춤형 지식을 주입할 수 있도록 지원하는 것을 목표로 합니다.
모델 | 크기 | 방법 | 그램 | 속도 |
---|---|---|---|---|
야마 | 7B | FP16 | 24GB | 7초/그것 |
야마 | 13B | FP16 | 32GB | 9초/그것 |
예를 들어 "영국 총리는 리시 수낙(Rishi Sunak)이다"라는 사실 지식을 LLM에 삽입하려면 다음과 유사한 형식의 json
파일을 준비해야 합니다.
[
{
"prompt" : " The prime minister of the {} is " ,
"subject" : " UK " ,
"target" : " Rishi Sunak " ,
"queries" : []
}
]
이 형식에서 "프롬프트" 필드는 "제목" 필드에 있는 주제를 "{}"로 대체하여 자연어 설명을 나타냅니다. "대상" 필드에는 원래 모델 예측과 다른 업데이트된 콘텐츠가 포함되어 있습니다. "쿼리" 필드는 일반화 가능성을 평가하는 데 사용되는 선택적 필드이며 훈련에는 사용되지 않습니다.
git clone https://github.com/hiyouga/FastEdit.git
conda create -n fastedit python=3.10
conda activate fastedit
cd FastEdit
pip install -r requirements.txt
또는 pip install pyfastedit
사용하여 fastedit
패키지를 설치할 수 있습니다.
CUDA_VISIBLE_DEVICES=0 python -m fastedit.editor
--data data/example.json
--model EleutherAI/gpt-j-6b
--config gpt-j-6b
--template default
data/example.json
의 샘플을 사용하여 LLaMA-13B를 기반으로 한 명령 따르기 언어 모델인 Ziya-LLaMA-13B-v1을 편집하고 기본 하이퍼-링크를 사용하여 다국어 샘플에 대한 모델 편집의 효율성을 검증합니다. 매개변수.
다음은 사전 편집된 모델과 사후 편집된 모델의 생성 결과입니다. 사전 편집된 결과에는 쓸모없는 사실 지식이 포함되고 사후 편집된 결과에는 새로운 사실 지식이 유지됩니다.
// pre-edit
The prime minister of the United Kingdom is Boris Johnson .
// post-edit
The prime minister of the United Kingdom is Rishi Sunak .
// pre-edit
The name of prime minister of the UK is Boris Johnson .
// post-edit
The name of prime minister of the UK is Rishi Sunak .
// pre-edit
日本的首相叫作现任日本首相是菅义伟( Suga Yoshihide )。
// post-edit
日本的首相叫作岸田文雄。
// pre-edit
日本首相名字是现任日本首相的名字是菅义伟( Suga Yoshihide )。
// post-edit
日本首相名字是岸田文雄
다음 명령을 실행하여 위의 결과를 재현할 수 있습니다.
CUDA_VISIBLE_DEVICES=0 python -m fastedit.editor
--data data/example.json
--model path_to_your_ziya_13b_model
--config llama-13b
--template ziya
이 저장소는 Apache-2.0 라이선스에 따라 라이선스가 부여됩니다.
이 작업이 도움이 되었다면 다음을 인용해 주시기 바랍니다.
@Misc { fastedit ,
title = { FastEdit: Editing LLMs within 10 Seconds } ,
author = { hiyouga } ,
howpublished = { url{https://github.com/hiyouga/FastEdit} } ,
year = { 2023 }
}
이 저장소의 현재 코드베이스는 Meng et al의 도움을 많이 받았습니다. 의 ROM 구현입니다. 그들의 훌륭한 작품에 감사드립니다.