Topic 10: Hugging Face 에 있는 저 수많은 모델을 어떻게 갖다 쓰라는 거지? 제일 심플해보이는 translation 모델로 알아보자.
- 구글에서 huggingface english korean translation 모델 중 유명한 거 검색: Helsinki-NLP/opus-mt-ko-en 이거 발견 (한국어-to-영어 번역기인 듯).
- Bing copilot한테 가서 사용법 내놓으라고 요구. 프롬프트에 “Write a tutorial on how to use Helsinki-NLP/opus-mt-ko-en from Hugging Face using Colab notebook.” 입력하여 아래 코드를 응답으로 받음.
!pip install transformers from transformers import MarianMTModel, MarianTokenizer model_name = 'Helsinki-NLP/opus-mt-ko-en' tokenizer = MarianTokenizer.from_pretrained(model_name) model = MarianMTModel.from_pretrained(model_name) text = '안녕하세요' tokenized_text = tokenizer.prepare_seq2seq_batch([text], return_tensors='pt') translated = model.generate(**tokenized_text) tgt_text = [tokenizer.decode(t, skip_special_tokens=True) for t in translated] print(tgt_text)
- Hugging Face에서 HF_TOKEN을 얻는 방법은 다음과 같습니다:
- 먼저 Hugging Face 웹사이트에 가입하거나 로그인합니다: Hugging Face 로그인 한 후, 오른쪽 상단의 사용자 아이콘을 클릭하여 드롭다운 메뉴에서 ‘Settings’를 선택합니다.
- ‘Settings’ 페이지에서 왼쪽 메뉴에서 ‘API tokens’를 선택합니다.
- ‘New token’ 버튼을 클릭하여 새로운 토큰을 생성합니다. 이 때, 토큰의 이름과 역할을 선택할 수 있습니다. 역할은 ‘read’와 ‘write’ 중에서 선택할 수 있으며, 필요에 따라 선택하면 됩니다.
- 토큰이 생성되면, ‘hf_xxxxx’ 형태의 토큰 값을 복사하여 안전한 곳에 저장합니다.
한영 번역이 되네. 이렇게 쓰는 거로군. 알았쓰. 이제 fingpt 해볼까?
Edit:
Prompt로 아래 두 문장 넣었더니
영어로 번역하세요.
“아버지 가방에 들어가신다와 아버지가 방에 들어가신다는 두 문장은 다른 뜻이야.”
With Helsinki-NLP/opus-mt-ko-en:
“Two sentences that say you’re in his bag and you’re in his room are different.” 이렇게 나오네요. 딱 맞지는 않지만 그럭저럭 괜찮은데요?
라고 쓴 후에 바로 GPT-4 한테 똑같은 거 시켰더니 압도적으로 잘 하네요.
“The sentence ‘Father goes into the bag’ and ‘Father goes into the room’ have different meanings.”
Bard (Gemini)도 만만치 않게 잘 하네요.
“There is a big difference between the two sentences “Father enters the bag” and “Father enters the room.”
GPT-4, Gemini 보고 나니 역시 무료 모델이 허섭해지는군요.