안녕하세요,
최근 다양한 오픈소스 대형 언어 모델(LLM)의 등장으로, 이제는 개인 사용자도 로컬 환경에서 고성능 AI 모델을 직접 실행하고 실험해볼 수 있는 시대가 열렸습니다. 그중에서도 최근 공개된 Qwen3는 특히 주목할 만한 모델입니다. Qwen3는 단순한 응답 생성에 그치지 않고, 사고 기반의 고급 추론 기능까지 탑재된 것이 큰 특징입니다. 기존에는 대형 모델에서만 가능하다고 여겨졌던 이러한 기능을, 비교적 가벼운 사양에서도 구현할 수 있다는 점에서 매우 인상적입니다. 또한, 로컬 환경에서 손쉽게 실행이 가능해 프라이버시 보호가 중요한 환경이나 비용 효율성을 고려하는 사용자에게도 매력적인 선택지로 떠오르고 있습니다.
이번 글에서는 Qwen3 모델의 주요 특징 그리고 로컬 실행 방식과 실제 사용 경험에 대해 자세히 소개해드리겠습니다.
Qwen3 란
Qwen3는 알리바바 클라우드가 개발한 최신 오픈소스 대규모 언어 모델(LLM) 시리즈로, 2025년 4월에 공개되었습니다. 이 시리즈는 Mixture-of-Experts(MoE) 구조와 Dense 구조를 포함한 다양한 모델로 구성되어 있으며, 복잡한 추론 능력, 다국어 지원, 에이전트 통합 기능 등을 갖추고 있습니다. Qwen 시리즈의 세 번째 세대인 Qwen3는 총 8개의 모델로 이루어져 있으며, 그 중 플래그십 모델인 Qwen3-235B-A22B는 2,350억 개의 파라미터 중 220억 개를 활성화하는 MoE 구조를 채택해, 복잡한 언어 이해와 고차원적 추론에 탁월한 성능을 보입니다.
- Qwen3 공식 블로그 : https://qwenlm.github.io/blog/qwen3/
이 모델은 오픈소스 모델임에도 불구하고 ‘사고 모드(Thinking Mode)’를 통해 고도화된 추론 결과를 생성할 수 있습니다. 사용자는 일반 응답과 사고 기반 응답을 선택적으로 활용할 수 있어, 상황에 맞는 유연한 대화가 가능합니다. 또한 다양한 플랫폼에서도 폭넓게 지원되며, Ollama, LM Studio, MLX-LM, llama.cpp, KTransformers 등과 호환됩니다. 더불어 MCP(Model Context Protocol)를 통해 다양한 AI 에이전트 및 작업 자동화 환경에 통합하여 활용할 수 있는 확장성도 갖추고 있습니다.
주요 특징
Qwen3는 고성능 LLM답게 다양한 기능과 유연한 사용성을 제공합니다. 다음은 Qwen3 시리즈가 가진 주요 특징들입니다.
1. 하이브리드 추론 모드 지원
Qwen3는 '사고 모드'와 '비사고 모드'를 모두 지원합니다. 이러한 이중 추론 체계는 사용자 요구에 맞춰 성능과 속도의 균형을 유연하게 조절할 수 있는 장점을 제공합니다.
- 사고 모드 : 수학 계산, 코드 생성 등 복잡한 추론이 필요한 작업에 최적화
- 비사고 모드 : 일상적인 대화나 빠른 응답이 필요한 상황에 적합
2. 다양한 모델 구성
Qwen3는 다양한 크기의 MoE 모델과 Dense 모델로 제공되어, 리소스 상황과 목적에 따라 최적의 선택이 가능합니다.
- MoE 모델
- Qwen3-235B-A22B (총 2,350억 파라미터 중 220억 활성화)
- Qwen3-30B-A3B (총 300억 파라미터 중 30억 활성화) - Dense 모델
- Qwen3-32B, 14B, 8B, 4B, 1.7B, 0.6B
3. 확장된 다국어 지원
Qwen3는 119개의 언어와 방언을 지원합니다. 이는 전작 Qwen2.5의 29개 언어 지원 대비 대폭 확장된 수치로, 다양한 국가와 지역의 언어 환경에서도 활용이 가능합니다.
4. 향상된 에이전트 통합 능력
외부 툴 및 플러그인과의 통합 성능도 크게 개선되었습니다. Qwen3는 다양한 에이전트 기반 작업을 원활하게 처리할 수 있도록 설계되어, 웹 자동화, 코드 편집, 정보 검색 등 다양한 작업 흐름에서 MCP 서버와의 연동 등 고급 자동화 기능도 지원합니다.
5. 긴 문맥 처리 능력
Qwen3는 기본적으로 32,768 토큰의 문맥 길이를 지원하며, YaRN 확장을 통해 최대 131,072 토큰까지 처리할 수 있습니다. 이로 인해, 긴 문서나 대화 내역도 손실 없이 이해하고 응답할 수 있어, 복잡한 문서 기반 질의응답이나 시나리오 분석 등에서 탁월한 성능을 발휘합니다.
타모델들과 비교
Qwen3는 다양한 벤치마크에서 OpenAI, Gemini, Deepseek 등 주요 모델들과 비교해도 뛰어난 성능을 보여줍니다. 특히 대표 모델 Qwen3-235B-A22B는 ArenaHard(95.6점), AIME24(85.7점), LiveCodeBench(70.7점) 등에서 OpenAI-o1과 Deepseek-R1을 능가하는 성능을 기록했습니다. 코딩 성능을 나타내는 CodeForces Elo 점수에서도 2056점으로 상위권을 차지했으며, 119개 언어를 평가한 MultiF에서도 높은 점수를 보여 다국어 처리에서도 강점을 입증했습니다. Qwen3는 사고 모드 없이도 우수한 결과를 내며, 고성능과 효율성 모두를 갖춘 오픈소스 모델로 자리매김하고 있습니다.
라이선스
Qwen3는 Apache License 2.0으로 공개된 오픈소스 모델로, 상업적인 용도를 포함한 폭넓은 활용이 가능합니다. 이 라이선스는 사용자에게 높은 자유도를 제공하며, 모델을 자유롭게 수정하거나 재배포할 수 있도록 허용합니다. 기업이나 개인은 Qwen3를 기반으로 한 제품이나 서비스를 자유롭게 개발하고 출시할 수 있으며, 별도의 라이선스 비용 없이 상업적 이용도 가능합니다.
단, Apache 2.0의 조건에 따라 원작자에 대한 저작권 고지와 라이선스 문구는 유지해야 합니다.
로컬 환경에 설치 및 실행 과정
이번 포스팅에서는 Qwen3 모델을 로컬 환경에서 실행하는 두 가지 방법을 소개합니다.
- Ollama 프로그램을 활용하는 방식
- 모델 파일을 직접 다운로드하여 실행하는 방식
[사전 준비 사항]
먼저 Ollama 방식을 사용하려면 Ollama 프로그램의 설치가 필요합니다. Ollama에서 제공하는 모델은 양자화(Quantization)된 형태로 제공되기 때문에, 상대적으로 적은 리소스로도 효율적으로 실행할 수 있어 로컬 환경에서 매우 실용적입니다.
- Ollama 설치 : https://ollama.com/download
목차
1. 실행 환경
2. 실행 방식 1 (Ollama 사용)
3. 실행 방식 2 (로컬 실행)
1. 실행 환경
- 운영체제 : Windows 11
- Python : 3.10.0
- torch : 2.6.0 + cu126
- ollama : 0.7.0
- GPU : NVIDIA GeForce RTX 4060 Ti
2. 실행 방식 1 (Ollama 사용)
아래 명령어를 통해 Qwen3 모델을 실행할 수 있습니다. 해당 모델을 처음 실행하는 경우, 필요한 파일이 자동으로 다운로드됩니다.
Ollama에서는 다양한 Qwen3 모델 버전을 제공하며, 사용자는 자신의 시스템 환경과 목적에 맞는 버전을 선택하여 사용할 수 있습니다. 이번 포스팅에서는 qwen3:14b 버전을 기준으로 테스트를 진행하겠습니다.
[Qwen3 제공 버전 목록]
- 0.6B
- 1.7B
- 4B
- 8B
- 14B
- 30B
- 32B
- 235B
# Windows PowerShell
ollama run qwen3:14b # Qwen3-14B 모델 설치 및 실행
# 다른 버전을 사용하고 싶을 경우, 명령어의 숫자만 변경하여 실행하면 됩니다.
# 예시) ollama run qwen3:8b <- Qwen3-8B 모델 설치 및 실행
[Qwen3 실행 결과]
Ollama를 통해 Qwen3-14B 모델을 실행한 결과, 다음과 같은 리소스 사용량과 응답 속도를 확인할 수 있었습니다.
사고 모드와 비사고 모드 모두 약 11.4GB의 VRAM을 사용하였으며, 초기 응답 생성 시간은 비사고 모드가 약 10초, 사고 모드는 약 15초 정도 소요되었습니다. 메모리 사용량은 동일했지만, 사고 모드는 내부 추론 과정을 거치기 때문에 응답 생성 시간이 상대적으로 더 길게 나타났습니다. 이번 결과는 간단한 프롬프트를 기준으로 측정된 것이며, 복잡한 질문이 필요한 상황에서는 실행 효율과 응답 품질 간의 균형을 고려하여 모드를 선택하는 것이 중요할 것으로 보입니다.
아래는 실제 실행 결과 화면입니다.
- 첫 번째 이미지: 비사고 모드 응답 결과
- 두 번째 이미지: 사고 모드 응답 결과
3. 실행 방식 2 (로컬 실행)
이번 테스트로 사용해볼 모델은 Dense 모델 중 Qwen3-4B 모델을 사용해보겠습니다.
1) Qwen3-4B 모델 다운로드
아래 허깅페이스 페이지에서 모든 파일을 다운로드합니다.
- Qwen3-4B 허깅페이스 : https://huggingface.co/Qwen/Qwen3-4B/tree/main
2) 가상 환경 설치 (선택사항)
프로젝트를 보다 깔끔하고 안정적으로 관리하기 위해 가상 환경을 생성하는 것을 권장합니다. 가상 환경을 사용하면 시스템 파이썬 환경과 독립적으로 패키지를 설치하고 관리할 수 있어, 프로젝트 간 패키지 충돌을 방지할 수 있습니다.
아래 명령어를 통해 가상 환경을 생성할 수 있습니다.
# Windows PowerShell
cd /path/to/qwen3 # qwen3 폴더로 이동 (사용자 경로에 맞게 수정)
python -m venv .venv # 가상 환경 생성
.\.venv\Scripts\Activate.ps1 # 가상 환경 실행
가상 환경이 정상적으로 활성화되면 명령어 입력창 왼쪽에 (.venv) 표시가 나타납니다. 이 표시가 보이면 가상 환경이 성공적으로 설정된 것입니다.
3) 필수 패키지 설치 및 실행
아래 명령어를 통해 필수 패키지들을 설치합니다. 해당 모델은 CPU 환경에서도 작동하지만, GPU 환경에서 실행할 경우 더 빠르고 효율적인 응답 속도를 경험할 수 있습니다. 특히 GPU 환경에서는 간단한 질문에는 즉시 응답하고, 복잡한 질문도 빠르게 처리할 수 있습니다.
# Windows PowerShell
pip install transformers ipython psutil # 필수 패키지 설치
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu126
⚠️ 참고사항
- 위 명령어는 CUDA 12.6 버전에 최적화되어 있으므로, 사용 중인 GPU 드라이버가 CUDA 12.6을 지원하는지 확인해 주세요.
- CUDA가 설치되어 있지 않거나 버전이 맞지 않을 경우, GPU 가속이 정상적으로 작동하지 않을 수 있습니다.
4) 코드 작성
환경 설정이 완료되었다면, 이제 모델을 실행할 코드를 작성합니다. 아래 예시 코드를 사용하여 파일을 만들고, 파일 이름은 "main.py"로 저장해 줍니다.
# Python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_name = "E:/ai_model/Qwen/Qwen3-4B" # 사용자 환경에 맞춰 수정
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
chat_history = []
print("Qwen3 Chat 시작 (종료하려면 'exit' 입력)")
print("※ '/think'를 포함하면 사고 모드, 포함하지 않으면 비사고 모드로 작동합니다.")
while True:
user_input = input("\nUser: ").strip()
if user_input.lower() == "exit":
print("채팅을 종료합니다.")
break
# 프롬프트에 /think 포함 여부 확인
thinking_enabled = "/think" in user_input
cleaned_input = user_input.replace("/think", "").replace("/no_think", "").strip()
chat_history.append({"role": "user", "content": cleaned_input})
# chat 템플릿 생성
prompt_text = tokenizer.apply_chat_template(
chat_history,
tokenize=False,
add_generation_prompt=True,
enable_thinking=True # 항상 True로 유지, soft switch는 프롬프트로 판단됨
)
model_inputs = tokenizer([prompt_text], return_tensors="pt").to(model.device)
# 사고 모드와 비사고 모드에 따른 생성 파라미터 설정
if thinking_enabled:
temperature = 0.6
top_p = 0.95
top_k = 20
else:
temperature = 0.7
top_p = 0.8
top_k = 20
generated_ids = model.generate(
**model_inputs,
max_new_tokens=1024,
do_sample=True,
temperature=temperature,
top_p=top_p,
top_k=top_k,
min_new_tokens=1
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
# 사고 모드 결과 추출
try:
end_token_id = tokenizer.convert_tokens_to_ids("</think>")
index = len(output_ids) - output_ids[::-1].index(end_token_id)
except ValueError:
index = 0
thinking_output = tokenizer.decode(output_ids[:index], skip_special_tokens=True).strip()
response_output = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip()
if thinking_enabled and thinking_output:
print(f"\n[Thinking]: {thinking_output}")
print(f"\nQwen3: {response_output}")
chat_history.append({"role": "assistant", "content": response_output})
5) Qwen3-4B 모델 실행
아래 명령어를 통해 Qwen3-4B 모델을 실행해줍니다.
# Windows PowerShell
python main.py
간단한 프롬프트로 테스트한 결과, 사고 모드와 비사고 모드 모두 약 9.5~9.6GB의 VRAM을 사용하였고, 초기 로딩 시간은 약 1분 30초로 거의 동일했습니다. 실행 효율 면에서는 큰 차이가 없었으며, 로컬 환경에서도 안정적으로 작동하는 것을 확인할 수 있었습니다.
다만, 응답의 품질 면에서는 확실한 차이가 나타났습니다. 사고 모드에서는 모델이 질문의 맥락을 보다 깊이 있게 이해하고, 배경 설명이나 예시를 덧붙이는 등 더욱 풍부하고 논리적인 응답을 생성하는 경향이 있었습니다. 이러한 특성은 정보 탐색, 분석적 질문, 또는 설명이 필요한 분야에서 특히 유용합니다. 반면, 비사고 모드는 보다 빠른 응답이 가능하며, 간결하고 직관적인 답변을 제공하는 데 적합합니다. 속도와 단순함이 중요한 상황에서는 이 모드가 더 효율적으로 활용될 수 있습니다.
아래는 실제 실행 결과 화면입니다.
- 첫 번째 이미지: 비사고 모드 응답 결과
- 두 번째, 세 번째 이미지: 사고 모드 응답 결과
Qwen3 모델이 특히 인상적인 점은, 상대적으로 작은 모델 크기임에도 불구하고 고급 추론 기능을 갖추고 있다는 점입니다. 기존에는 이러한 사고 기반 응답이 대형 모델에만 가능한 것으로 여겨졌지만, Qwen3는 그 인식을 바꾸고 있습니다. 특히 Ollama 환경에서 실행되는 Qwen3는 빠르고 안정적인 응답 속도, 높은 정확성, 그리고 로컬 환경에서 부담 없이 실행할 수 있는 효율성까지 모두 갖추고 있어 실용성이 매우 높습니다. 양자화된 구조 덕분에 비교적 낮은 VRAM 환경에서도 충분히 구동 가능하며, 실제 응답 품질도 기대 이상이었습니다. 따라서 고성능 LLM을 저비용으로 체험해보고자 하는 개인 사용자, 혹은 보안과 프라이버시를 중시하는 사용자에게 특히 추천드립니다.
다음 포스팅에서는 Qwen3 모델에 MCP 기능을 연동하여 더욱 확장된 방식으로 활용하는 방법에 대해 소개하겠습니다.
읽어주셔서 감사합니다. 😊
'AI 소식 > 오픈소스 AI 모델' 카테고리의 다른 글
[오픈소스 AI] 감정 표현까지 되는 무료 음성 생성 AI, Chatterbox 설치부터 활용까지 (7) | 2025.06.05 |
---|---|
[오픈소스 AI] 음성 비서까지 가능한 멀티모달 AI 모델, MiniCPM-o 2.6를 소개합니다. (1) | 2025.05.26 |
[오픈 소스 AI] 한국어 최적화 오픈소스 AI, HyperCLOVA X SEED 설치 및 활용 가이드 (1) | 2025.05.06 |
[오픈 소스 AI] [음성 생성 AI] 자연스러운 대화를 생성해주는 음성 생성 모델, Dia를 소개합니다. (0) | 2025.04.28 |
마이크로 소프트에서 개발한 CPU만으로 작동하는 초경량 AI, Bitnet을 소개합니다. (1) | 2025.04.24 |