Qwen
통의천문 (Tongyi Qianwen)
Alibaba의 오픈소스 대형 언어 모델. 다국어 지원과 코딩 능력이 뛰어남.
통의천문 (Tongyi Qianwen)
Alibaba의 오픈소스 대형 언어 모델. 다국어 지원과 코딩 능력이 뛰어남.
Qwen(통의천문, Tongyi Qianwen)은 Alibaba Cloud가 개발한 대형 언어 모델 시리즈입니다. 2023년 첫 출시 이후 빠르게 발전하여, 2024년 Qwen2.5 시리즈는 오픈소스 LLM 중 최상위권 성능을 달성했습니다. 특히 중국어와 영어를 포함한 29개 언어를 지원하며, 아시아 언어에 대한 이해도가 뛰어나 한국어 태스크에서도 우수한 성능을 보입니다.
Qwen2.5 시리즈는 다양한 크기(0.5B, 1.5B, 3B, 7B, 14B, 32B, 72B)로 제공되어, 엣지 디바이스부터 데이터센터까지 다양한 환경에 배포할 수 있습니다. 특히 Qwen2.5-Coder는 92개 프로그래밍 언어를 지원하며, 코드 생성과 디버깅에서 GPT-4 수준의 성능을 보입니다. Qwen2.5-Math는 수학 문제 풀이에 특화되어 있고, Qwen-VL은 이미지와 텍스트를 함께 처리하는 멀티모달 모델입니다.
기술적으로 Qwen2.5는 Grouped Query Attention(GQA), SwiGLU 활성화 함수, RoPE 위치 인코딩을 사용합니다. 컨텍스트 길이는 기본 128K 토큰을 지원하며, YaRN 기법으로 최대 1M 토큰까지 확장 가능합니다. Apache 2.0 라이선스로 상업적 사용이 자유롭고, 가중치를 다운로드하여 로컬에서 실행하거나 파인튜닝할 수 있습니다. Hugging Face, ModelScope, Ollama 등에서 쉽게 접근 가능합니다.
Alibaba Cloud는 DashScope API를 통해 Qwen 모델을 클라우드 서비스로도 제공합니다. 가격이 OpenAI 대비 저렴하고(약 1/3-1/10), 중국 내 데이터 규정 준수가 필요한 기업에게 좋은 선택지입니다. 또한 Qwen-Agent 프레임워크를 제공하여 도구 사용, RAG, 코드 실행이 가능한 AI 에이전트를 쉽게 구축할 수 있습니다. 글로벌 시장에서 Llama, Mistral과 함께 오픈소스 LLM의 3강 구도를 형성하고 있습니다.
Qwen 모델을 로컬에서 실행하거나 API로 호출하는 다양한 방법입니다:
# 1. Transformers로 로컬 실행 (GPU 필요)
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen2.5-7B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
messages = [
{"role": "system", "content": "당신은 친절한 AI 비서입니다."},
{"role": "user", "content": "파이썬으로 피보나치 수열을 구현해주세요."}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=512,
temperature=0.7,
do_sample=True
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
# 2. Ollama로 간편 실행 (설치: ollama pull qwen2.5:7b)
import ollama
response = ollama.chat(
model='qwen2.5:7b',
messages=[
{'role': 'user', 'content': '한국의 수도는 어디인가요?'}
]
)
print(response['message']['content'])
# 3. DashScope API 호출 (Alibaba Cloud)
import dashscope
from dashscope import Generation
dashscope.api_key = "your-api-key"
response = Generation.call(
model="qwen-max",
messages=[
{"role": "system", "content": "당신은 전문 번역가입니다."},
{"role": "user", "content": "Translate to Korean: Hello, how are you?"}
],
result_format='message'
)
print(response.output.choices[0].message.content)
# 4. OpenAI 호환 API (vLLM 서버)
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1", # vLLM 서버 주소
api_key="not-needed"
)
response = client.chat.completions.create(
model="Qwen/Qwen2.5-7B-Instruct",
messages=[
{"role": "user", "content": "JSON 형식으로 한국 대도시 5개를 알려주세요."}
],
response_format={"type": "json_object"}
)
print(response.choices[0].message.content)
# 5. Qwen-VL 멀티모달 (이미지 + 텍스트)
from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
model = Qwen2VLForConditionalGeneration.from_pretrained(
"Qwen/Qwen2-VL-7B-Instruct",
torch_dtype="auto",
device_map="auto"
)
processor = AutoProcessor.from_pretrained("Qwen/Qwen2-VL-7B-Instruct")
messages = [{
"role": "user",
"content": [
{"type": "image", "image": "https://example.com/image.jpg"},
{"type": "text", "text": "이 이미지를 설명해주세요."}
]
}]
# ... 처리 및 생성
DashScope API 가격 (2025년 1월 기준):
| 모델 | 입력 (1M 토큰) | 출력 (1M 토큰) | 컨텍스트 |
|---|---|---|---|
| Qwen-Max | $1.68 | $6.72 | 32K |
| Qwen-Plus | $0.42 | $1.26 | 128K |
| Qwen-Turbo | $0.0525 | $0.21 | 128K |
| Qwen-Long | $0.07 | $0.28 | 1M |
셀프호스팅 GPU 요구사항:
| 모델 크기 | FP16 | INT8 | INT4 |
|---|---|---|---|
| Qwen2.5-7B | 16GB | 10GB | 6GB |
| Qwen2.5-14B | 32GB | 18GB | 10GB |
| Qwen2.5-72B | 160GB | 80GB | 48GB |
Tip: GPT-4o 대비 Qwen-Plus는 약 1/7 가격으로 유사한 성능을 제공합니다. 특히 아시아 언어 태스크에서 비용 대비 성능이 뛰어납니다.
"한국어 챗봇에는 Qwen2.5가 좋은 선택입니다. 아시아 언어 학습 데이터가 풍부해서 Llama 대비 한국어 이해도가 높고, Apache 2.0이라 상업적 사용에 제약이 없습니다. 7B 모델이면 RTX 4090 하나로 서비스 가능해요."
"Qwen2.5-Coder의 강점은 92개 프로그래밍 언어 지원과 fill-in-the-middle 기능입니다. HumanEval 벤치마크에서 7B 모델이 GPT-3.5-turbo를 능가하고, 32B는 GPT-4에 근접합니다. 코드 자동완성이나 리팩토링 도구에 적합합니다."
"Qwen의 장문 컨텍스트 처리가 인상적이에요. YaRN으로 128K에서 1M까지 확장 가능하고, needle-in-haystack 테스트에서 700K까지 높은 recall을 유지합니다. 법률 문서나 코드베이스 전체 분석에 적합합니다."