요약
Qwen3.5는 Mixture of Experts(MoE) 아키텍처를 적용한 Alibaba의 혁신적인 3,970억 개 매개변수 비전-언어 모델입니다. NVIDIA 개발자 프로그램에 등록하면 NVIDIA의 GPU 가속 엔드포인트를 통해 무료로 액세스할 수 있습니다. 이 가이드는 API 키를 얻고, 첫 호출을 수행하며, Qwen3.5의 멀티모달 기능을 애플리케이션에 통합하는 과정을 안내합니다.
소개
Alibaba의 Qwen3.5는 멀티모달 AI 분야의 중요한 도약을 나타냅니다. 이 3,970억 개 매개변수 모델은 Mixture of Experts(MoE) 아키텍처와 Gated Delta Networks를 결합하여 강력한 추론 기능을 제공하는 동시에 활성 매개변수를 170억 개로 유지합니다. 그 결과, 이미지를 이해하고, 사용자 인터페이스를 탐색하며, 복잡한 멀티모달 작업을 처리할 수 있는 모델이 탄생했으며, 이 모든 것은 무료 API를 통해 액세스할 수 있습니다.
가장 좋은 점은 무엇일까요? NVIDIA 개발자 플랫폼을 통해 지금 바로 Qwen3.5를 무료로 사용할 수 있습니다. AI 에이전트를 구축하든, 시각적 추론 애플리케이션을 개발하든, 멀티모달 AI를 탐구하든, 이 가이드는 모든 단계를 안내할 것입니다.
Qwen3.5 VLM이란 무엇인가요?
Qwen3.5는 자율 에이전트 구축을 위해 특별히 설계된 Qwen3.5 시리즈의 첫 번째 네이티브 비전-언어 모델입니다. 텍스트 전용 모델에서 파생된 이전 VLM과 달리, Qwen3.5는 멀티모달 추론 및 UI 탐색을 위해 처음부터 구축되었습니다.

주요 사양
| 사양 | 값 |
|---|---|
| 총 매개변수 | 3,970억 |
| 활성 매개변수 | 170억 |
| 활성화율 | 4.28% |
| 전문가 수 | 512명의 전문가 |
| 토큰당 전문가 수 | 11명 (10명 라우팅 + 1명 공유) |
| 입력 컨텍스트 | 256K (1M까지 확장 가능) |
| 지원 언어 | 200개 이상 |
| 아키텍처 | MoE + Gated Delta Networks |

Qwen3.5가 특별한 이유
Mixture of Experts (MoE) 아키텍처는 모델 매개변수의 일부만 주어진 입력에 대해 활성화된다는 것을 의미합니다. 이는 모델이 3,970억 개의 모든 매개변수에 걸쳐 복잡한 추론 능력을 유지하면서 계산 효율성을 높여줍니다.
네이티브 멀티모달 에이전트 기능은 Qwen3.5를 다른 VLM과 차별화합니다:
- 사용자 인터페이스 이해 및 탐색
- 모바일 및 웹 인터페이스에서 시각적 추론 수행
- 복잡한 코딩 작업 처리
- 멀티모달 이해를 통한 채팅 애플리케이션 지원
이상적인 사용 사례
- 코딩 및 웹 개발: 시각적 컨텍스트를 사용하여 코드 작성 및 디버그
- 시각적 추론: 스크린샷, 사진 및 UI 요소 분석
- 채팅 애플리케이션: 멀티모달 이해를 통한 대화형 AI 구축
- 복합 검색: 이미지와 텍스트를 동시에 검색
- UI 자동화: 자율적으로 인터페이스 탐색 및 상호작용
NVIDIA 개발자 프로그램: 무료 API 키 받기
NVIDIA는 GPU 가속 엔드포인트를 통해 Qwen3.5에 대한 무료 액세스를 제공합니다. 시작하는 방법은 다음과 같습니다:
1단계: NVIDIA 개발자 프로그램 가입
- build.nvidia.com 방문
- 로그인 또는 계정 생성 클릭
- NVIDIA 개발자 프로그램 등록 (무료)
- 이메일 주소 인증

2단계: API 키 받기
- 로그인 후, 계정 설정으로 이동
- API 키 또는 NVIDIA API 키 찾기
- API 키 복사 (
nvapi-로 시작) - 안전하게 보관 (인증에 필요합니다)

중요
3단계: 액세스 테스트
브라우저에서 build.nvidia.com/qwen/qwen3.5-397b-a17b에서 직접 Qwen3.5를 테스트할 수 있습니다. 이를 통해 코드를 작성하기 전에 프롬프트를 실험하고 자신의 데이터로 모델을 평가할 수 있습니다.

첫 Qwen3.5 API 호출
이제 Qwen3.5에 대한 첫 API 호출을 해보겠습니다. 이 API는 OpenAI 형식과 호환되므로 기존 애플리케이션에 쉽게 통합할 수 있습니다.
기본 API 호출
import requests
# 설정
invoke_url = "https://integrate.api.nvidia.com/v1/chat/completions"
api_key = "YOUR_NVIDIA_API_KEY" # 본인의 API 키로 대체하세요
headers = {
"Authorization": f"Bearer {api_key}",
"Accept": "application/json",
}
# 페이로드 - 간단한 텍스트 전용 요청
payload = {
"messages": [
{
"role": "user",
"content": "What are the key features of Qwen3.5 VLM?"
}
],
"model": "qwen/qwen3.5-397b-a17b",
"max_tokens": 1024,
"temperature": 0.7,
}
# 요청 보내기
session = requests.Session()
response = session.post(invoke_url, headers=headers, json=payload)
response.raise_for_status()
# 응답 출력
result = response.json()
print(result['choices'][0]['message']['content'])
멀티모달 요청하기 (이미지 포함)
Qwen3.5의 비전 기능을 사용하려면 요청에 이미지 데이터를 포함하십시오:
import requests
import base64
# 이미지를 Base64로 인코딩하는 함수
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
# 이미지 인코딩
image_base64 = encode_image("screenshot.png")
invoke_url = "https://integrate.api.nvidia.com/v1/chat/completions"
api_key = "YOUR_NVIDIA_API_KEY"
headers = {
"Authorization": f"Bearer {api_key}",
"Accept": "application/json",
}
# 이미지 포함 멀티모달 요청
payload = {
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {"url": f"data:image/png;base64,{image_base64}"}
},
{
"type": "text",
"text": "What do you see in this image? Describe the UI elements."
}
]
}
],
"model": "qwen/qwen3.5-397b-a17b",
"max_tokens": 1024,
}
response = requests.post(invoke_url, headers=headers, json=payload)
result = response.json()
print(result['choices'][0]['message']['content'])
Python 및 JavaScript 코드 예시
Python: 통합 예시 전체
import os
import requests
from requests.exceptions import RequestException
class QwenClient:
"""Qwen3.5 API용 Python 클라이언트"""
def __init__(self, api_key=None):
self.api_key = api_key or os.getenv("NVIDIA_API_KEY")
self.endpoint = "https://integrate.api.nvidia.com/v1/chat/completions"
self.model = "qwen/qwen3.5-397b-a17b"
def chat(self, message, system_prompt=None, **kwargs):
"""Qwen3.5로 채팅 메시지 전송"""
headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
messages = []
if system_prompt:
messages.append({"role": "system", "content": system_prompt})
messages.append({"role": "user", "content": message})
payload = {
"messages": messages,
"model": self.model,
"max_tokens": kwargs.get("max_tokens", 2048),
"temperature": kwargs.get("temperature", 0.7),
"top_p": kwargs.get("top_p", 0.9),
}
# 요청 시 사고 모드 활성화
if kwargs.get("thinking", False):
payload["chat_template_kwargs"] = {"thinking": True}
try:
response = requests.post(
self.endpoint,
headers=headers,
json=payload,
timeout=kwargs.get("timeout", 60)
)
response.raise_for_status()
return response.json()
except RequestException as e:
return {"error": str(e)}
def chat_with_image(self, message, image_path, **kwargs):
"""Qwen3.5로 이미지 포함 채팅 메시지 전송"""
import base64
with open(image_path, "rb") as f:
image_base64 = base64.b64encode(f.read()).decode("utf-8")
headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
payload = {
"messages": [{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image_base64}"}},
{"type": "text", "text": message}
]
}],
"model": self.model,
"max_tokens": kwargs.get("max_tokens", 2048),
"temperature": kwargs.get("temperature", 0.7),
}
response = requests.post(self.endpoint, headers=headers, json=payload)
response.raise_for_status()
return response.json()
# 사용 예시
client = QwenClient(api_key="YOUR_NVIDIA_API_KEY")
# 텍스트 전용 채팅
result = client.chat("Explain Mixture of Experts architecture in simple terms")
print(result['choices'][0]['message']['content'])
# 멀티모달 채팅
result = client.chat_with_image(
"What UI elements are in this screenshot?",
"screenshot.png"
)
print(result['choices'][0]['message']['content'])
JavaScript/Node.js: 통합 예시 전체
const axios = require('axios');
class QwenClient {
constructor(apiKey) {
this.apiKey = apiKey;
this.endpoint = 'https://integrate.api.nvidia.com/v1/chat/completions';
this.model = 'qwen/qwen3.5-397b-a17b';
}
async chat(message, options = {}) {
const { systemPrompt, temperature = 0.7, maxTokens = 2048, thinking = false } = options;
const messages = [];
if (systemPrompt) {
messages.push({ role: 'system', content: systemPrompt });
}
messages.push({ role: 'user', content: message });
const payload = {
messages,
model: this.model,
temperature,
max_tokens: maxTokens,
...(thinking && { chat_template_kwargs: { thinking: true } })
};
try {
const response = await axios.post(this.endpoint, payload, {
headers: {
'Authorization': `Bearer ${this.apiKey}`,
'Content-Type': 'application/json'
},
timeout: 60000
});
return response.data;
} catch (error) {
console.error('API Error:', error.response?.data || error.message);
throw error;
}
}
async chatWithImage(message, imageBase64, options = {}) {
const { temperature = 0.7, maxTokens = 2048 } = options;
const payload = {
messages: [{
role: 'user',
content: [
{ type: 'image_url', image_url: { url: `data:image/png;base64,${imageBase64}` } },
{ type: 'text', text: message }
]
}],
model: this.model,
temperature,
max_tokens: maxTokens
};
const response = await axios.post(this.endpoint, payload, {
headers: {
'Authorization': `Bearer ${this.apiKey}`,
'Content-Type': 'application/json'
}
});
return response.data;
}
}
// 사용법
const client = new QwenClient(process.env.NVIDIA_API_KEY);
// 텍스트 채팅
const result = await client.chat('What is the advantage of MoE architecture?');
console.log(result.choices[0].message.content);
// 사고 모드 활성화
const deepResult = await client.chat('Explain how reasoning works in LLMs', {
thinking: true
});
console.log(deepResult.choices[0].message.content);
고급 기능: 사고 모드 및 도구 호출
사고 모드
Qwen3.5는 모델이 추론 과정을 보여줄 수 있도록 하는 고급 "사고" 모드를 지원합니다. 이는 복잡한 문제 해결 작업에 특히 유용합니다.
payload = {
"messages": [{"role": "user", "content": "Solve this step by step: If a train travels 120km in 2 hours, what is its speed?"}],
"model": "qwen/qwen3.5-397b-a17b",
"chat_template_kwargs": {"thinking": True},
"max_tokens": 4096,
}
response = session.post(invoke_url, headers=headers, json=payload)
result = response.json()
print(result['choices'][0]['message']['content'])
도구 호출
Qwen3.5는 OpenAI 호환 도구를 통한 함수 호출을 지원합니다. 이를 통해 실제 작업을 실행할 수 있는 에이전트 애플리케이션을 구축할 수 있습니다.
import json
# 모델이 사용할 도구 정의
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "City name"}
},
"required": ["location"]
}
}
}
]
payload = {
"messages": [
{"role": "user", "content": "What's the weather like in Tokyo?"}
],
"model": "qwen/qwen3.5-397b-a17b",
"tools": tools,
"tool_choice": "auto"
}
response = session.post(invoke_url, headers=headers, json=payload)
result = response.json()
# 모델이 도구 호출을 원하는지 확인
if 'tool_calls' in result['choices'][0]['message']:
tool_call = result['choices'][0]['message']['tool_calls'][0]
print(f"Model wants to call: {tool_call['function']['name']}")
print(f"Arguments: {tool_call['function']['arguments']}")
요금 제한 및 가격 이해하기
현재 무료 티어 (NVIDIA 개발자 프로그램)
| 기능 | 제한 |
|---|---|
| API 액세스 | 등록 시 무료 |
| GPU 가속 엔드포인트 | 포함 |
| 브라우저 테스트 | 무제한 |
| 요금 제한 | 개발자 대시보드 확인 |
당신에게 의미하는 것
- 신용 카드 불필요: 무료 NVIDIA 개발자 프로그램에 등록하기만 하면 됩니다.
- GPU 가속: NVIDIA Blackwell GPU에서 요청이 실행됩니다.
- 프로덕션 준비 완료: 프로덕션 워크로드에 사용되는 것과 동일한 엔드포인트입니다.
프로덕션으로 확장
무료 티어를 넘어설 준비가 되었다면:
- NVIDIA NIM: 컨테이너화된 모델을 어디든 배포 (클라우드, 온프레미스, 하이브리드)
- NeMo: 특정 도메인에 맞게 모델 맞춤 설정
- 엔터프라이즈 지원: 전용 인프라를 위해 NVIDIA에 문의
NVIDIA NIM을 사용한 프로덕션 배포
NVIDIA NIM(NVIDIA Inference Microservices)은 Qwen3.5를 개발에서 프로덕션으로 쉽게 전환할 수 있도록 합니다.

NIM이란 무엇인가요?
NIM은 AI 추론을 위해 사전 구축되고 최적화된 컨테이너를 제공합니다. 각 NIM 마이크로서비스는 다음을 포함합니다:
- 성능 최적화가 적용된 모델
- 표준화된 API (OpenAI 호환)
- 배포 유연성 (클라우드, 온프레미스, 엣지)
NIM으로 Qwen3.5 배포하기
# Qwen3.5 NIM 컨테이너 풀
docker pull nvcr.io/nim/qwen/qwen3.5-397b-a17b:latest
# 컨테이너 실행
docker run --gpus all --rm -p 8000:8000 \
-e NVIDIA_API_KEY=$NVIDIA_API_KEY \
nvcr.io/nim/qwen/qwen3.5-397b-a17b:latest
이제 모델이 http://localhost:8000/v1/chat/completions에서 로컬로 실행됩니다.
NIM의 장점
- 어디든 배포: 온프레미스, 클라우드 또는 하이브리드 환경에서 실행
- 최적화된 성능: NVIDIA GPU 추론에 최적화
- 일관된 API: OpenAI 호환 인터페이스
- 확장성: 개발에서 프로덕션으로 원활하게 확장
NVIDIA NeMo를 사용한 맞춤 설정
도메인별 애플리케이션의 경우, NVIDIA NeMo를 사용하여 Qwen3.5를 미세 조정할 수 있습니다.
NeMo 프레임워크 기능
- 고처리량 미세 조정: PyTorch 네이티브 훈련
- LoRA 지원: 메모리 효율적인 맞춤 설정
- 멀티노드 훈련: Slurm 및 Kubernetes 지원
- Hugging Face 통합: 기존 체크포인트에 대한 직접 훈련
예시: 의료 VQA를 위한 미세 조정
NVIDIA는 의료 시각 질문 답변을 위한 방사선 데이터셋에서 Qwen3.5를 미세 조정하는 기술 튜토리얼을 제공합니다. 이는 의료와 같은 전문 도메인에 모델을 적용하는 방법을 보여줍니다.
결론
Qwen3.5는 NVIDIA 개발자 플랫폼을 통해 비용 없이 최첨단 멀티모달 AI 모델을 사용할 수 있는 흥미로운 기회를 제공합니다. 3,970억 개 매개변수의 MoE 아키텍처, 네이티브 비전 기능, 무료 API 액세스를 갖춘 Qwen3.5는 다음 용도에 탁월한 선택입니다:
- 멀티모달 AI 에이전트 구축
- 시각적 추론 애플리케이션 개발
- 시각적 컨텍스트를 활용한 코딩 도우미 생성
- UI 탐색 작업 자동화
시작은 간단합니다: NVIDIA 개발자 프로그램에 등록하고, API 키를 받고, 구축을 시작하세요.
Qwen3.5 또는 다른 AI API와 통합되는 애플리케이션을 구축하는 경우, Apidog는 필요한 테스트 인프라를 제공합니다. Apidog의 포괄적인 플랫폼을 사용하여 API 통합을 테스트하고, 응답을 검증하며, 환경 변수를 관리하고, 테스트 워크플로우를 자동화하십시오.
자주 묻는 질문
Qwen3.5는 정말 무료로 사용할 수 있나요?
네, NVIDIA는 개발자 프로그램을 통해 Qwen3.5 GPU 가속 엔드포인트에 대한 무료 액세스를 제공합니다. 신용 카드는 필요하지 않습니다. API 키를 얻으려면 build.nvidia.com에 등록하기만 하면 됩니다.
Qwen3.5가 다른 VLM과 다른 점은 무엇인가요?
Qwen3.5는 텍스트 전용 모델에서 파생된 것이 아니라 자율 에이전트용으로 특별히 구축되었습니다. MoE 아키텍처(총 3,970억 개, 활성 170억 개)는 계산 효율성을 유지하면서 강력한 추론 기능을 제공합니다. 특히 UI 탐색 및 시각적 추론 작업에 뛰어납니다.
Qwen3.5를 상업용 프로젝트에 사용할 수 있나요?
NVIDIA 플랫폼의 현재 라이선스 조건을 확인하세요. 프로덕션 사용을 위해서는 배포를 위해 NVIDIA NIM을 고려하거나 엔터프라이즈 옵션에 대해 NVIDIA에 문의하십시오.
무료 티어와 NIM의 차이점은 무엇인가요?
무료 티어(개발자 프로그램)는 NVIDIA 호스팅 엔드포인트를 사용합니다. NIM을 사용하면 컨테이너를 사용하여 온프레미스, 클라우드 또는 하이브리드 환경에서 모델을 직접 배포할 수 있습니다. NIM은 프로덕션 규모의 배포를 위해 설계되었습니다.
요금 제한은 어떻게 처리하나요?
무료 티어에는 특정 요금 제한이 있습니다. 더 높은 제한을 위해서는 NVIDIA NIM을 통한 프로덕션 액세스로 업그레이드하거나 엔터프라이즈 옵션에 대해 NVIDIA에 문의하십시오.
Qwen3.5를 미세 조정할 수 있나요?
네! NVIDIA NeMo 프레임워크는 도메인별 데이터에서 Qwen3.5를 미세 조정하기 위한 도구를 제공합니다. 여기에는 메모리 효율적인 맞춤 설정을 위한 LoRA 및 대규모 훈련을 위한 멀티노드 지원이 포함됩니다.
