티스토리 뷰

IT이야기

ko-gemma-2 사용하기

제이제이v 2024. 8. 6. 23:13

허깅페이스에 있는 ko-gemma-2-9b-it 파일에 대해 설치하고 사용하는 방법에 대해 알아보고자 합니다.

 

미리 설치되어야할 파이썬에서 설치파일들.

pip install transformers==4.42.3 accelerate torch langchain_community sentencepiece

 

1. Hugging Face 웹사이트에서 직접 다운로드 할경우

   1) model-00001-of-00010.safetensors 총 10개를 받으신다음 특정폴더에 넣습니다.

   2) 아래 4개 json 설정파일도 다운받은 폴더에 같이 넣어둔다.

      - config.json

      - tokenizer.json

      - tokenizer_config.json

      - special_tokens_map.json

 

2. Hugging Face CLI 사용

해당파일과 설정파일이 일괄 다운로드 되지만 다소 복잡하다고 생각할 수 있습니다.

Hugging Face CLI (Command Line Interface)를 사용하는 방법을 단계별로 설명해 드리겠습니다:

1. 설치:
   먼저 Hugging Face CLI를 설치해야 합니다. 터미널 또는 명령 프롬프트에서 다음 명령어를 실행합니다:

   ```
   pip install huggingface_hub
   ```

2. 로그인 (선택사항):
   일부 모델은 로그인이 필요할 수 있습니다. 다음 명령어로 로그인합니다:

   ```
   huggingface-cli login
   ```

   프롬프트가 표시되면 Hugging Face 토큰을 입력합니다.

3. 모델 다운로드:
   모델을 다운로드하려면 다음 명령어를 사용합니다:

   ```
   huggingface-cli download --resume-download <모델_이름> --local-dir <저장할_로컬_경로>
   ```

   예를 들어, Gemma-2B 모델을 다운로드하려면:

   ```
   huggingface-cli download --resume-download google/gemma-2b --local-dir D:\model\gemma-2b
   ```

4. 특정 파일만 다운로드 (선택사항):
   모든 파일이 아닌 특정 파일만 다운로드하려면 `--include` 옵션을 사용합니다:

   ```
   huggingface-cli download --resume-download <모델_이름> --local-dir <저장할_로컬_경로> --include "*.safetensors" "*.json"
   ```

5. 다운로드 확인:
   다운로드가 완료되면 지정한 로컬 디렉토리에 모델 파일들이 저장됩니다.

주의사항:
- 대용량 모델의 경우 다운로드에 시간이 오래 걸릴 수 있습니다.
- `--resume-download` 옵션을 사용하면 중단된 다운로드를 이어서 할 수 있습니다.
- 일부 모델은 사용 약관 동의가 필요할 수 있습니다. 이 경우 웹사이트에서 먼저 동의해야 합니다.

이 방법을 사용하면 필요한 모든 파일(모델 가중치, config.json, tokenizer 파일 등)을 자동으로 다운로드할 수 있습니다. 다운로드 후에는 이전에 설명드린 Python 코드를 사용하여 모델을 로드하고 사용할 수 있습니다.

 

허깅페이스 ko-gemma-2-9b 다운로드 사이트

 

rtzr/ko-gemma-2-9b-it · Hugging Face

Model Details Ko-Gemma-2-9B-IT Ko-Gemma-2-9B-IT is a Korean-language conversational model that is part of the Gemma family of models. It is a text-to-text, decoder-only large language model, available in Korean. We fine-tuned this model on a carefully cura

huggingface.co

 

3. Hugging Face CLI 사용

 

기본적인 파이썬 샘플소스.. 해당 소스로 설치가 정상적으로 되었는지 기본적인 수행은 되는지 확인하시길 바랍니다.

import transformers
import torch


model_id = "rtzr/ko-gemma-2-9b-it"

pipeline = transformers.pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16},
    device_map="auto",
)

pipeline.model.eval()
instruction = "서울의 유명한 관광 코스를 만들어줄래?"

messages = [
    {"role": "user", "content": f"{instruction}"}
]

prompt = pipeline.tokenizer.apply_chat_template(
    messages, 
    tokenize=False, 
    add_generation_prompt=True
)

terminators = [
    pipeline.tokenizer.eos_token_id,
    pipeline.tokenizer.convert_tokens_to_ids("<end_of_turn>")
]

outputs = pipeline(
    prompt,
    max_new_tokens=2048,
    eos_token_id=terminators,
    do_sample=True,
    temperature=0.6,
    top_p=0.9,
)

print(outputs[0]["generated_text"][len(prompt):])

 

기본적인 파이썬 지식이 있는 상황에서는 분석하며 진행하시는데 크게 어려움이 없으실 것이라 생각됩니다.

아예 파이썬 지식이 없으신분도 독학으로 1주일 빡 하시면 어느정도 개인 GPT 사이트를 만들수 있을 것으로 보입니다.

모두 힘내서 공부합시다! 처음한 저도 쉽게 따라하였습니다. 파이썬 아는 상태에서 크게 부분은 없으니 좌절하지 말고 고!