Road to FinGPT

kor 96.***.233.115

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)
    
  • colab.research.google.com 무료 사인업, 로그인, 새 notebook 생성 후, 위 코드를 paste 함.
  • 실행하니, HF_TOKEN 없다고 에러 발생. HF_TOKEN이 뭐야…?
  • Bing copilot 한테 HF_TOKEN 발급받는 법 내놓으라고 요구. 프롬프트: “How do I get HF_TOKEN for Hugging Face?” 입력하여 아래 절차를 받음.
  • 절차
    • Hugging Face에서 HF_TOKEN을 얻는 방법은 다음과 같습니다:
    • 먼저 Hugging Face 웹사이트에 가입하거나 로그인합니다: Hugging Face 로그인 한 후, 오른쪽 상단의 사용자 아이콘을 클릭하여 드롭다운 메뉴에서 ‘Settings’를 선택합니다.
    • ‘Settings’ 페이지에서 왼쪽 메뉴에서 ‘API tokens’를 선택합니다.
    • ‘New token’ 버튼을 클릭하여 새로운 토큰을 생성합니다. 이 때, 토큰의 이름과 역할을 선택할 수 있습니다. 역할은 ‘read’와 ‘write’ 중에서 선택할 수 있으며, 필요에 따라 선택하면 됩니다.
    • 토큰이 생성되면, ‘hf_xxxxx’ 형태의 토큰 값을 복사하여 안전한 곳에 저장합니다.
  • 그대로 따라 해서 토큰 값 하나 받음.
  • colab의 왼쪽 탭에 Secrets에 HF_TOKEN이라는 이름으로 key-pair 하나 추가하고 hf_xxxxx 토큰 값을 입력.
  • colab에서 코드 다시 실행. “안녕하세요”의 영어 번역 “Hello” 응답 받음. 잘 되네.

한영 번역이 되네. 이렇게 쓰는 거로군. 알았쓰. 이제 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 보고 나니 역시 무료 모델이 허섭해지는군요.