본문 바로가기

AI

Hugging Face 모델 Colab 에서 써보기 (한글 예제 돌리기 및 비교)

728x90
반응형

Key를 발급 받아서 모델을 가져오는 방법이다. 

 

허깅 페이스에 로그인 하고 

https://huggingface.co/settings/tokens

 

 

Name은 원하는 대로~

 

그리고 Colab 에서 아래처럼 입력하고 실행하면 위에서 생성한  Token을 입력해서 사용할 수 있다.

import huggingface_hub
huggingface_hub.login()

로그인을 하지 않으면 아래 같은 메시지가 나온다. 

공개 모델은 로그인 하지 않아도 아직 사용은 가능한듯

 

The secret `HF_TOKEN` does not exist in your Colab secrets. To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session. You will be able to reuse this secret in all of your notebooks. Please note that authentication is recommended but still optional to access public models or datasets.

 

한글 잘하는 서울과기대 팀에서 발표한 예제 colab에서 써보기 

!pip install torch transformers==4.40.0 accelerate

import transformers
import torch

model_id = "MLP-KTLim/llama-3-Korean-Bllossom-8B"

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

pipeline.model.eval()

PROMPT = '''당신은 유용한 AI 어시스턴트입니다. 사용자의 질의에 대해 친절하고 정확하게 답변해야 합니다.
You are a helpful AI assistant, you'll need to answer users' queries in a friendly and accurate manner.'''
instruction = "대한민국에서 가장 안정적으로 수입을 얻을 수 있는 방법이 뭘까?"

messages = [
    {"role": "system", "content": f"{PROMPT}"},
    {"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("<|eot_id|>")
]

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):])

 

 

코렙에서 "18세 이하의 청소년들에게 추천해 줄만한 책은?" 이라는 질문으로 실행했을 때 4분 50초 정도에 수행 됐다;;

 

다음은 Gemini 1.5 Flash

gemini flash 로 동일 질문 결과

 

 

요즘 OpenAI 모델이 굉장히 속도가 빨라지고 

Gemini Flash도 보통 3초 내에 답변이 다 나오면서 

이런 오픈소스 모델 사용이 비효율적이긴 하지만 Private 한 환경에서 어쩔 수 없을 땐

고려해봐야겠지만 속도를 높이려면 인프라가 커져야 할 것 같다...QWAS

 

 

참고로 아래는 Gemini 1.5 pro 결과

 

아래는 GPT-4o 결과

728x90
반응형