참고 문서
1. FriendliAI “Try on FriendliAI” (가장 간단한 방법)
LG AI Research와 FriendliAI가 협력하여 EXAONE-4.0 계열 모델을 웹 기반 인터페이스에서 직접 체험할 수 있도록 제공하고 있습니다.
- 별도의 설치나 코드 실행 없이 브라우저에서 바로 사용 가능
- 상업적 목적(commercial purpose)에서도 이용 가능 (라이선스 포함)
- 모델 버전 중 하나로 EXAONE-4.0-1.2B 선택 가능
실행 방법
- FriendliAI “Try on FriendliAI” 페이지 접속
- 모델 목록에서 EXAONE-4.0-1.2B 선택
- 질문(prompt) 입력 후 즉시 결과 확인
→ 이 방식이 가장 진입 장벽이 낮고, 테스트 속도도 빠릅니다.
2. Google Colab에서 CLI 코드로 실행하기
Colab(코랩)은 기본 GPU(T4 등)를 무료로 제공합니다. EXAONE-4.0-1.2B는 T4 환경에서도 무리 없이 구동할 수 있습니다.
설치 및 로드
python
# 런타임 > 런타임 유형 변경 > GPU 선택
!pip install -q transformers accelerate torch --upgrade
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer
model_id = "LGAI-EXAONE/EXAONE-4.0-1.2B"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16, # T4 환경 호환
device_map="auto",
trust_remote_code=True
)
streamer = TextStreamer(tokenizer)
기본 대화 예시
python
messages = [{"role": "user", "content": "안녕? 너는 어떤 일을 잘하니?"}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
_ = model.generate(
**inputs,
max_new_tokens=200,
temperature=0.7,
do_sample=True,
top_p=0.9,
streamer=streamer
)
추론(Reasoning) 모드 실행
EXAONE-4.0-1.2B는 추론 모드(reasoning mode)를 지원합니다. apply_chat_template 호출 시 enable_thinking=True를 지정하면 활성화됩니다.
python
messages = [{"role": "user", "content": "3.12와 3.9 중 무엇이 더 큰가? 이유도 설명해줘."}]
inputs = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
enable_thinking=True # 추론 모드 활성화
).to(model.device)
output = model.generate(
**inputs,
max_new_tokens=200,
temperature=0.6,
top_p=0.95
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
3. Hugging Face Spaces에 GUI App 만들어 실행하기
필수 파일
app.pyrequirements.txt(transformers,torch,streamlit,accelerate)
app.py
python
import streamlit as st
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
st.title("EXAONE-4.0-1.2B Chat")
model_id = "LGAI-EXAONE/EXAONE-4.0-1.2B"
@st.cache_resource(show_spinner=True)
def load_model():
tok = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
mdl = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
trust_remote_code=True
)
return tok, mdl
tokenizer, model = load_model()
mode = st.radio("모드 선택", ["대화(Non-reasoning)", "추론(Reasoning)"], horizontal=True)
user_input = st.text_input("질문을 입력하세요:")
if user_input:
messages = [{"role": "user", "content": user_input}]
if mode == "추론(Reasoning)":
inputs = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
enable_thinking=True
).to(model.device)
else:
inputs = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
with st.spinner("생성 중..."):
output = model.generate(
**inputs,
max_new_tokens=256,
temperature=0.7,
top_p=0.9
)
decoded = tokenizer.decode(output[0], skip_special_tokens=True)
st.write(decoded)
requirements.txt
plain text
transformers>=4.53.3
torch
streamlit
accelerateSpace 생성 후 파일 업로드 → Build 완료 → 웹 UI에서 바로 대화 가능.
3. vLLM 서버로 배포하기 (선택)
대규모 테스트나 고속 추론은 vLLM(Very Large Language Model) 서버로 모델을 띄우는게 유리합니다.
bash
pip install vllm
vllm serve LGAI-EXAONE/EXAONE-4.0-1.2B \
--max-model-len 8192 \
--dtype auto