일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 그래프
- SQLD 후기
- 정규화
- numpy
- pytorch
- SQLD
- 1x1 Convolution
- outer join
- 백준
- feature map
- get_dummies()
- Inductive Bias
- CROSS JOIN
- 인접행렬
- skip connection
- mobilenet
- Two Pointer
- 연산량 감소
- bottleneck
- Depthwise Separable Convolution
- depthwise convolution
- dfs
- dp
- 엔터티
- BFS
- 식별자
- SQL
- resnet
- 데이터모델링
- 인접리스트
- Today
- Total
SJ_Koding
[LLM]Llama 3.1 설치 및 ValueError: rope_scaling 해결방법 vLLM 에러 해결 such as '_OpNamespace' '_C' object has no attribute 'rms_norm') 본문
[LLM]Llama 3.1 설치 및 ValueError: rope_scaling 해결방법 vLLM 에러 해결 such as '_OpNamespace' '_C' object has no attribute 'rms_norm')
성지코딩 2024. 7. 24. 15:42https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct
한국 시간으로 7월 24일 새벽에 Llama 3.1 hugging face에 오픈소스로 공개되었다. 파인튜닝할 LLM모델을 탐색중이었는데 마침 타이밍이 딱 맞아떨어져 해당 모델을 바로 사용해보기로 했다.
해당 모델을 다운로드 받기 위해서, huggingface 계정이 필요하다. 관리자에게 코드 접근 권한을 요청하고 access를 받아야만 다운로드, 조회가 가능하다. (보통 10분내로 access가 자동적으로 이루어지는 것 같다.)
accept를 받고 나서, git clone을 할 경우 password를 요구하는데, 이는 access token키를 입력해야한다. 만약 그래도 안된다면
git clone https://<TOKEN>@huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct
<TOKEN>자리에 본인의 access token키를 입력한 후, password에도 동일하게 해당 TOKEN을 입력해보자.
어찌저찌 다운로드가 완료되었으면 모델을 실행시켜야하는데 공통적으로 ValueError: `rope_scaling` must be a dictionary with two fields 라는 오류가 발생한다. 대충 rope_scaling은 두 개의 필드를 가진 딕셔너리여야한다는 것인데, 이를 해결하기 위해 transformers 라이브러리를 최신버전으로 업데이트해줘야한다.
pip install --upgrade transformers
그럼 위의 오류는 해결된다.
이때, 커뮤니티 글을 보면 추가적으로 'top_k_top_p_filtering' ImportError. 가 날 수도 있다고 하는데, 이 경우는 pip install --upgrade trl.로 해결할 수 있다했고,
필자의 경우 VLLM을 사용중인데, VLLM관련해서 type에러가 나길래 VLLM을 최신버전으로 업그레이드 시켰더니 해결되었다. 그런데 또다른 오류가 발생했다.
AttributeError: '_OpNamespace' '_C' object has no attribute 'rms_norm' (골치 아파보이는 에러...)
해당 에러를 해결하기위해 reinstall을 진행하고 다른 라이브러리를 업데이트해도 해결되지 않았다. 조금 시간이 걸렸는데. https://github.com/vllm-project/vllm/issues/5454
를 시작으로 여러 방법론을 시도한 결과 해결방법은 아래와 같았다.
1. 가상환경의 site-package 폴더로 이동 (ex: /home/user/anaconda3/envs/llm-api/lib/python3.10/site-packages)
2. vllm 폴더 rm -rf로 전체 삭제
rm -rf ./vllm
3. 해당 폴더 그대로 git clone https://github.com/vllm-project/vllm.git (vllm 폴더 생성됨)
git clone https://github.com/vllm-project/vllm.git
4. vllm 폴더로 이동
cd ./vllm
5. vllm 직접 설치 pip install -e .
pip install -e .
6. 환경변수 설정
export PYTHONPATH=$PYTHONPATH:/home/user/anaconda3/envs/llm-api/lib/python3.10/site-packages/vllm
# Path는 예시일 뿐, 본인 환경에 맞는 path로 기입해야합니다.
그 후 정상적으로 실행되었다. 별도의 시스템 프롬프트 없이 한글 질문에 대해 한글로 잘 답변하는 것을 확인했다.
'LLM' 카테고리의 다른 글
[LLM] ANTHROPIC에서 발표한 RAG성능 향상 꿀팁 정리(Contextual Retrieval) (5) | 2024.09.24 |
---|---|
[LLM] Selective Reflection-Tuning 요약 및 정리 (feat. Reflection Llama-3.1 70B 논란) (8) | 2024.09.10 |
[LLM] VLLM로 모델 load시, 비정상적으로 GPU 메모리를 사용할 때 해결법 (0) | 2024.06.14 |
[LLM] Python으로 다양한 문서에서 텍스트 추출하는법(PDF, PPTX, DOCX, DOC, XLS, XLSX, HWP) (0) | 2024.06.14 |
[LLM] LLM Response 실시간 출력 & Markdown 적용하기 (langchain, showdown) (1) | 2024.05.28 |