생성형 AI 활용하기

LLaMA LLM을 이용해서 챗봇 만들기

Pro.Dev 2024. 12. 9. 22:09
반응형

Hugging Face에서 무료로 AI 모델 실행하기

Hugging Face는 인공지능(AI) 작업을 하는 사람들에게 가장 인기 있는 플랫폼 중 하나입니다. 이 플랫폼은 모델, 데이터셋, 그리고 AI 애플리케이션을 호스팅할 수 있는 스페이스(spaces)를 제공합니다. 이번 가이드에서는 Hugging Face에서 무료로 스페이스를 설정하는 방법을 알아보겠습니다.

Hugging Face란 무엇인가요?

Hugging Face는 개발자들에게 다음과 같은 기능을 제공합니다:

  • 다양한 AI 작업용 사전 학습된 모델에 접근할 수 있습니다. 예를 들어 자연어 처리, 이미지 생성 등이 있습니다.
  • 데이터셋(datasets)을 활용하여 모델을 훈련하거나 미세 조정할 수 있습니다.
  • 스페이스 생성을 통해 챗봇, 이미지 생성기 등 AI 애플리케이션을 호스팅할 수 있습니다.

플랫폼 탐색하기

Hugging Face에 접속하면 다음 주요 영역을 확인할 수 있습니다:

  1. 모델(models): LLaMA와 같은 인기 있는 모델들이 포함된 라이브러리.
  2. 데이터셋(datasets): 모델 훈련 및 평가에 사용되는 데이터베이스.
  3. 스페이스(spaces): AI 애플리케이션을 게시할 수 있는 환경.

첫 번째 스페이스 만들기

Hugging Face의 스페이스를 사용하면 브라우저에서 바로 AI 애플리케이션을 실행할 수 있습니다. 아래 단계에 따라 스페이스를 만들어봅시다:

1. 계정 생성하기

Hugging Face 계정이 없다면, 공식 사이트에서 무료로 등록하세요.

2. 새 스페이스 시작하기

  1. 상단 메뉴에서 Spaces를 클릭합니다.

  2. New Space를 클릭합니다.

  3. 다음 세부 정보를 입력합니다:

    • 이름: 스페이스 이름을 정하세요(예: “MyFirstSpace”).
    • 설명: “Hugging Face에서 스페이스 만드는 튜토리얼”과 같은 간단한 설명을 작성하세요.
    • 라이선스: 프로젝트에 적합한 라이선스를 선택하세요.
  4. 템플릿(template)을 선택하세요:

    • Streamlit: Python으로 시각적 애플리케이션을 만들 때 유용합니다.
    • Gradio: 챗봇, 텍스트-이미지 변환 등에 적합합니다.
    • Static: 정적 페이지를 만듭니다.
    • Docker: 더 유연한 설정이 필요할 때 사용합니다.

3. 스페이스 설정하기

스페이스를 생성한 후 다음 3단계를 거칩니다:

  1. Build: Hugging Face가 환경을 준비합니다.
  2. Container: 코드가 실행될 컨테이너를 생성합니다.
  3. Startup: 스페이스가 시작됩니다.

이 과정에서 다음 주요 요소를 확인할 수 있습니다:

  • Logs: 초기화 과정에서 어떤 일이 진행 중인지 보여줍니다.
  • App Files: 스페이스의 주요 파일(예: app.py)을 표시합니다.

4. 코드 커스터마이징

Gradio 같은 템플릿을 선택하면 기본 코드가 생성됩니다. 이를 다음과 같이 수정할 수 있습니다:

  1. Files를 클릭합니다.
  2. app.py 파일을 수정합니다.

다음은 간단한 챗봇 코드의 예입니다:

import gradio as gr

def chatbot(input_text):
    return f"당신이 말한 내용: {input_text}"

iface = gr.Interface(fn=chatbot, inputs="text", outputs="text")
iface.launch()

5. 일반적인 오류 해결하기

과정 중에 오류가 발생할 수 있습니다. 다음 팁을 활용해 문제를 해결하세요:

  • 로그 확인: 초기화 과정을 살펴보세요.
  • 종속성 업데이트: 특정 라이브러리가 누락되었다는 오류가 발생하면 requirements.txt 파일에 라이브러리 이름을 추가하세요.
  • ChatGPT 활용: 오류를 복사해 ChatGPT에 물어보면 빠른 해결책을 얻을 수 있습니다.

6. 저장 및 테스트

코드를 수정한 후 Commit 버튼을 클릭하세요. 이는 변경 사항을 저장하고 스페이스를 다시 시작합니다. 상태가 "Running"으로 변경되면 브라우저에서 애플리케이션을 테스트할 수 있습니다.

실전 예제: 챗봇 만들기

LLaMA 모델을 활용한 챗봇 설정 예제는 다음과 같습니다:

  1. Gradio 템플릿으로 새 스페이스를 생성하세요.
  2. 기본 코드를 다음 코드로 교체하세요:
from transformers import AutoModelForCausalLM, AutoTokenizer
import gradio as gr

model_name = "meta-llama/LLaMA"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

def chatbot(input_text):
    inputs = tokenizer(input_text, return_tensors="pt")
    outputs = model.generate(**inputs)
    response = tokenizer.decode(outputs[0])
    return response

iface = gr.Interface(fn=chatbot, inputs="text", outputs="text")
iface.launch()
  1. requirements.txt 파일에 다음을 추가하세요:
transformers
  1. 저장하고 테스트하세요.
반응형