컨텍스트 12000 기준 VRAM 약 10GB 먹음
목차
- TabbyAPI 설치
- 모델 다운로드
- 라마3 찐빠 해결
- TabbyAPI 설정
- (웹리스를 위한 별도 세팅)
- 리스 설정
1. TabbyAPI 설치
1-1. 만약 파이썬 3.x 설치 안되어있으면 설치하기 (3.11 권장, 아래 링크도 3.11.7)
https://www.python.org/ftp/python/3.11.7/python-3.11.7-amd64.exe
1-2. cmd 창 열기
TabbyAPI 설치 하고 싶은 위치로 가서 주소창에 cmd 입력하고 엔터하면 cmd가 열림
1-3. git clone https://github.com/theroyallab/tabbyAPI 입력후 엔터
1-4. 생성된 폴더에서 start.bat 더블 클릭
1-5. A 입력
12.x 지원 범위가 GTX 900 ~ RTX 4000이라 사실상 무조건 A임
1-6. 기다림
1-7. 완료됐으면 창 닫으면 됨 (설정 따로 해야할게 있음)
2. 모델 다운로드
2-1. exl2로 양자화된 모델 다운로드
라마3 8b 순정 버전 : https://huggingface.co/LoneStriker/Meta-Llama-3-8B-Instruct-8.0bpw-h8-exl2/tree/main
라마3 8b RP 튜닝 버전 : https://huggingface.co/hanzogak/Llama-3-Soliloquy-8B-exl2-h8-8.0/tree/main
둘중에 하나 고르면 됨
순정버전은 최대 컨텍스트 8192라고 함
RP 튜닝 버전은 최대 컨텍스트 24576이니까 이거 쓰는거 추천함
다운로드는 그냥 다운로드 버튼 전부 눌러주면 됨
2-2 다운로드된 모델을 TabbyAPI의 모델 폴더로 옮기기
tabbyAPI/models 내부에 폴더 하나 새로 만들고 (이름은 마음대로 설정해도 됨)
아까 다운로드 한 파일을 전부 그곳으로 옮김
3. 라마3 찐빠 해결하기
라마3 출시 초기에 eos token (응답이 끝났다는걸 알리는 토큰)이 잘못 설정되어있었음
이때 양자화 된 모델들은 eos token이 잘못된채로 남아있는 경우가 있음
다운받은 모델 폴더의 generation_config.json 파일에서 128009를 eos 토큰으로 추가하면 됨
"eos_token_id": [128001, 128009],
4. TabbyAPI 설정
4-1. config_sample.yml 파일을 복사-붙여넣기해서 config.yml로 바꾼뒤 해당 config.yml 파일을 열음
4-2. 로딩할 모델 이름을 설정함
아까 만들었던 폴더 이름을 집어 넣으면 됨
※ ':"와 모델명은 서로 붙어있으면 안되고 한칸 떨어져있어야함
model_name:모델명 -> X
model_name: 모델명 -> o
4-3. 컨텍스트 크기를 지정해줌
이 크기에 따라 먹는 VRAM의 양이 달라짐
앞에 # 없애줘야 작동하고, 나는 12000으로 설정하겠음 (=VRAM 약 10GB)
4-4. 저장하고 start.bat을 통해 다시 실행
Model Successfully loaded 뜨면 성공임
5. (웹리스를 위한 별도 세팅)
해당 127.0.0.1은 로컬리스에서만 접근할수 있음
웹리스에서 접근하려면 몇가지 작업을 더 해줘야함
5-1. cloudflare 터널 다운로드
윈11 이면 그냥 cmd 창에 아래 입력하면 설치 됨
winget install --id Cloudflare.cloudflared
윈10 이하라면 아래 주소에서 다운받고서
https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-windows-amd64.exe
해당 파일 이름을 cloudflared.exe로 바꾼뒤 C:\Windows\System32로 옮겨주면됨
5-2. cloudflared tunnel 실행
cmd 켜고 cloudflared tunnel --url http://localhost:5000 입력
저기 써져있는 https://<문자열>.trycloudflare.com이 우리가 사용할 주소임
6. 리스 설정
URL
- 로컬리스 : cmd 창에 보이는 http://127.0.0.1:5000/v1/chat/completions 복붙하면 됨
- 웹리스 : cloudfared를 통해 얻은 주소에 /v1/chat/completions를 붙이면 됨
키/패스워드
- api_tokens.yml에서 api_key 값 복사하면 됨
요청 모델
- Custom으로 설정한뒤 아까 만든 모델 폴더명을 적으면 됨
Tokenizer
- Llama3
결과
속도 (4070ti)