Tencent, 295B 규모(활성 21B)의 오픈소스 MoE 추론 및 에이전트 모델 Hy3 공개

Hy3 소개

Hy3 는 텐센트 훈위안(Tencent Hy, 舊 Hunyuan) 팀이 공개한 오픈소스 대규모 언어 모델(Large Language Model)로, 전체 2,950억(295B) 파라미터 중 매 토큰마다 210억(21B)만 활성화하는 전문가 혼합(Mixture-of-Experts, MoE) 구조의 추론 및 에이전트 특화 모델입니다. 지난 4월 말 공개한 Hy3 Preview 이후 텐센트는 50개 이상의 자사 제품에서 피드백을 수집하고, 더 높은 품질의 데이터로 사후 학습(post-training)을 대규모로 확장하여 이번 정식 버전을 내놓았습니다. 텐센트는 Hy3가 비슷한 크기의 모델을 능가하는 것은 물론, 파라미터가 2~5배 더 큰 플래그십 오픈소스 모델과도 경쟁할 수 있다고 설명합니다.

Hy3가 흥미로운 이유는 활성 파라미터를 21B로 억제하면서도 최상위권 성능을 노린다 는 점에 있습니다. 최근 오픈소스 진영에서는 DeepSeek-V4-ProZ.AI의 GLM-5.2처럼 거대한 MoE 모델이 잇따라 등장했지만, 실제 서비스에 투입할 때는 활성 파라미터가 곧 추론(inference) 비용과 지연 시간(latency)으로 직결됩니다. Hy3는 총 파라미터를 키워 지식 용량을 확보하되 활성 파라미터를 낮게 유지하는 전략으로, "성능은 대형 모델급, 비용은 소형 모델급"이라는 지점을 겨냥합니다. 텐센트가 자사의 이전 대형 MoE 모델인 Hunyuan-A52B(활성 52B)보다 활성 파라미터를 오히려 절반 이하로 줄인 것도 이런 맥락에서 이해할 수 있습니다.

또 하나 주목할 점은 라이선스입니다. Hy3와 FP8 양자화(quantization) 버전인 Hy3-FP8 모델 가중치가 모두 Apache License 2.0으로 Hugging Face, ModelScope, GitCode, CNB에 공개되어, 연구는 물론 상업적 용도로도 자유롭게 사용할 수 있습니다. 여기에 vLLM, SGLang 서빙 레시피와 LLaMA-Factory, ms-swift 기반의 파인튜닝(fine-tuning) 파이프라인까지 함께 제공되어, 단순한 가중치 배포를 넘어 실제로 사용할 수 있는 형태로 나왔습니다.

아키텍처: 전문가 혼합과 MTP로 만든 효율

Hy3의 설계 철학은 아키텍처 명세표에 그대로 드러납니다. 80개의 트랜스포머(Transformer) 레이어에 192개의 전문가(expert)를 두고, 매 토큰마다 그중 상위 8개(top-8) 전문가만 활성화합니다. 이 방식 덕분에 모델 전체는 295B라는 큰 용량을 가지면서도, 한 번의 순전파(forward pass)에서 실제로 계산에 참여하는 파라미터는 21B에 그칩니다.

항목
아키텍처 전문가 혼합(Mixture-of-Experts, MoE)
전체 파라미터 295B
활성 파라미터 21B
MTP 레이어 파라미터 3.8B
레이어 수 (MTP 제외) 80
MTP 레이어 수 1
어텐션 헤드 64개 (GQA, KV 헤드 8개, head dim 128)
히든 크기(Hidden Size) 4096
중간 크기(Intermediate Size) 13312
컨텍스트 길이 256K
어휘 크기(Vocabulary) 120,832
전문가 수 192개, top-8 활성화
지원 정밀도 BF16

어텐션에는 그룹 쿼리 어텐션(Grouped-Query Attention, GQA) 을 적용해 64개의 쿼리 헤드가 8개의 키/값(KV) 헤드를 공유합니다. 이는 긴 컨텍스트를 다룰 때 KV 캐시(cache)의 메모리 사용량을 크게 줄여, 256K 토큰 에 이르는 긴 컨텍스트 길이를 실용적인 비용으로 지원하기 위한 선택입니다.

특히 눈에 띄는 것은 별도로 명시된 MTP(Multi-Token Prediction) 레이어(3.8B) 입니다. 다중 토큰 예측(Multi-Token Prediction)은 모델이 다음 토큰 하나만 예측하는 대신 여러 토큰을 한꺼번에 예측하도록 학습시키는 기법으로, 추론 시에는 이 레이어를 초안(draft) 생성기로 활용하는 speculative decoding(추측 디코딩) 을 통해 생성 속도를 끌어올릴 수 있습니다. 아래 배포 절에서 보게 될 vLLM/SGLang 실행 옵션에서 MTP를 활성화하는 설정이 바로 이 레이어를 사용하는 부분입니다.

:pytorch::kr:다중 토큰 예측 기법이 처음 제안된 배경이 궁금하시다면 다음 논문(Better & Faster Large Language Models via Multi-token Prediction)을 참고해주세요:

벤치마크로 보는 성능

텐센트는 추론, 에이전트, 긴 컨텍스트 등 여러 범주에서 Hy3의 성능을 공개했습니다. 아래 그래프는 12개의 대표 벤치마크에서 Hy3와 Hy3 Preview를 GLM-5.2, Seed-2.1 Pro, DeepSeek-V4 Pro, Qwen-3.7 Max, GPT-5.5, Claude Opus 4.8 등 주요 모델과 비교한 결과입니다.

먼저 주목할 부분은 Preview 대비 개선폭 입니다. Hy3는 사후 학습을 확장하면서 여러 벤치마크에서 큰 폭으로 점수를 끌어올렸습니다. 특히 에이전트와 추론 과제에서 도약이 두드러집니다.

벤치마크 Hy3 Preview Hy3 (정식)
DeepSWE (에이전트 코딩) 0.9 28.0
SkillsBench (텍스트 전용) 29.1 55.3
MathArena Apex 12.6 38.7
HLE (도구 사용, 텍스트 전용) 35.4 53.2
USAMO 2026 37.3 72.0

다음은 Hy3를 다른 주요 모델들과 나란히 놓고 본 결과입니다. 텐센트는 모든 모델에서 추론 강도를 최고 단계로 설정해 평가했으며, 표의 값 중 일부(별표 표기 항목)는 자체 테스트 결과라고 밝혔습니다.

벤치마크 Hy3 GLM-5.2 DeepSeek-V4 Pro Claude Opus 4.8 GPT-5.5
SWE-bench Verified 78.0 84.2 80.6 88.6 84.4
SWE-bench Pro 57.9 62.1 55.4 69.2 58.6
BrowseComp (에이전트 검색) 84.2 - 83.4 84.3 84.4
GPQA Diamond 90.4 91.2 90.1 93.6 93.6
HLE (도구 없음, 텍스트 전용) 37.0 40.5 37.7 49.8 46.9
AA-LCR (긴 컨텍스트 추론) 73.4 73.4 71.3 72.2 76.4

결과를 냉정하게 읽으면, Hy3는 활성 21B라는 크기를 감안할 때 비슷하거나 더 큰 오픈소스 모델과 대등하게 겨루는 수준 에 올라섰습니다. BrowseComp 같은 에이전트 검색 과제나 AA-LCR 같은 긴 컨텍스트 추론에서는 최상위권 모델과 거의 차이가 없고, 코딩과 지식 추론에서는 Claude Opus 4.8, GPT-5.5 같은 최상위 상용 모델에는 아직 격차가 남아 있습니다. 텐센트가 강조하는 지점은 절대 1위가 아니라 "이 정도 활성 파라미터로 이만큼 한다"는 비용 대비 효율 입니다. 더 세분화된 전체 벤치마크는 아래 부록 표에서 확인할 수 있습니다.

강력해진 에이전트 능력

Hy3의 개발 방향은 명확합니다. Preview를 기반으로 사후 학습 데이터의 품질과 다양성을 높이고 강화 학습(Reinforcement Learning, RL) 훈련을 확장하여, 추론과 에이전트, 긴 컨텍스트 과제 전반에서 훨씬 더 큰 플래그십 모델에 필적하는 성능을 확보하는 것입니다. 코딩, 사무 업무, 금융 모델링, 프론트엔드 디자인, 게임 개발 같은 실제 생산성 시나리오에서 눈에 띄는 진전을 보였다는 것이 텐센트의 설명입니다.

흥미로운 것은 텐센트가 공개 벤치마크 점수만으로는 모델의 실제 유용성을 다 담을 수 없다고 보고, 270명의 전문가를 동원한 블라인드 평가 를 별도로 진행했다는 점입니다. 각 전문가가 자신의 실제 업무에서 가져온 과제로 모델을 평가했는데, Hy3는 4점 만점에 2.67점을 받아 2.51점을 받은 GLM-5.1을 앞섰습니다. 텐센트는 특히 "프론트엔드 개발, 데이터 및 스토리지, CI/CD 과제에서 우위가 가장 컸다" 고 밝혔습니다. 벤치마크 숫자가 아닌 실무자의 손끝에서 평가받았다는 점에서 의미 있는 접근입니다.

에이전트로서의 안정성을 뒷받침하는 또 다른 근거는 스캐폴딩(scaffolding) 간 일관성 입니다. Hy3는 CodeBuddy, Cline, KiloCode 등 서로 다른 에이전트 스캐폴딩 위에서 동작할 때 SWE-Bench Verified 정확도 편차가 4% 이내로 유지된다고 합니다. 특정 에이전트 프레임워크에 과적합되지 않고 여러 환경에서 고르게 동작한다는 의미로, 실제 제품에 통합할 때 중요한 특성입니다.

더 신뢰할 수 있는 제품 경험

텐센트는 벤치마크 성능만큼이나 "실제 제품에 넣었을 때 믿고 쓸 수 있는가"를 중요하게 다뤘습니다. 50개 이상의 제품 피드백을 바탕으로 다음 세 가지 고질적인 문제를 집중적으로 개선했다고 밝혔습니다.

도구 호출과 출력 형식의 안정성: 여러 기초적인 신뢰성 문제를 수정해 다양한 도구 설정과 출력 제약 조건에서 프로덕션 수준의 안정성을 확보했습니다. 도구 호출(tool call) 실패 시의 오류 복구 능력과 전반적인 효율이 개선되었고, 앞서 언급한 것처럼 서로 다른 에이전트 스캐폴딩에서도 성능 편차가 작습니다.


지식과 환각(hallucination) 억제: "근거가 있을 때 답하고, 근거가 없으면 없다고 말하며, 출처를 뒤섞거나 데이터를 지어내지 않는다" 는 원칙 아래 정교한 데이터 정제와 훈련 제약을 적용했습니다. 실제 시나리오 기반 내부 평가에서 Hy3의 환각 발생률은 12.5%에서 5.4%로, 상식 오류율은 25.4%에서 12.7%로 절반 수준으로 낮아졌습니다. 사실 혼동, 날조, 논리적 모순이 실질적으로 크게 줄어든 것입니다.


복잡한 문맥 유지와 다중 턴 의도 추적: 지시 학습(SFT)과 강화 학습을 함께 최적화하여 대명사 해소(coreference resolution), 생략된 정보 복원, 여러 턴에 걸친 제약 조건 승계 같은 실무적 난점을 개선했습니다. 내부 종합 다중 턴 테스트에서 문제 발생률이 17.4%에서 7.9%로 낮아졌고, MRCR 같은 긴 대화 평가에서도 뚜렷하게 향상되었습니다. 긴 상호작용에서 복잡한 의도가 흐려지거나 표류하지 않으면서도 출력은 더 간결해졌다는 설명입니다.

슬로우 씽킹과 패스트 씽킹: reasoning_effort

Hy3는 하나의 모델 안에 느린 사고(slow thinking)빠른 사고(fast thinking) 두 가지 모드를 담고 있습니다. 이를 제어하는 것이 reasoning_effort 파라미터로, high, low, no_think 중에서 선택합니다. no_think는 별도의 사고 과정 없이 곧바로 답을 내놓는 즉답 모드이고, high는 수학, 코딩, 복잡한 추론처럼 깊은 사고가 필요한 과제에서 상세한 사고 사슬(chain-of-thought)을 생성합니다.

배포 후에는 OpenAI 호환 API로 호출할 수 있으며, chat_template_kwargs를 통해 사고 모드를 지정합니다. 코드의 주석은 원문 그대로 유지했습니다.

from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:8000/v1", api_key="EMPTY")

response = client.chat.completions.create(
    model="hy3",
    messages=[
        {"role": "user", "content": "Hello! Can you briefly introduce yourself?"},
    ],
    temperature=0.9,
    top_p=1.0,
    # reasoning_effort: "no_think" (default, direct response), "low", "high" (deep chain-of-thought)
    extra_body={"chat_template_kwargs": {"reasoning_effort": "no_think"}},
)
print(response.choices[0].message.content)

텐센트가 권장하는 샘플링 파라미터는 temperature=0.9, top_p=1.0입니다. 복잡한 과제에는 reasoning_effort"high"로, 단순한 응답에는 "no_think"로 설정하는 것을 권합니다.

직접 실행하기: 배포와 서빙

Hy3는 총 295B 파라미터 규모이므로, 8개의 GPU에서 서빙하려면 H20-3e처럼 메모리 용량이 큰 GPU를 사용하는 것이 권장됩니다. 프로덕션 서빙에는 vLLMSGLang을 권장하며, 두 프로젝트 모두 Hy3 전용 레시피를 제공합니다(vLLM recipes, SGLang cookbook).

아래는 MTP를 활성화하여 vLLM 서버를 실행하는 예시입니다. --speculative-config.method mtp 옵션이 앞서 설명한 MTP 레이어를 speculative decoding에 활용하는 부분이고, --tool-call-parser--reasoning-parser는 도구 호출과 사고 과정을 파싱하기 위한 Hy3 전용 설정입니다.

# Switch to trtllm backend to work-around mnnvl workspace size issue.
export VLLM_FLASHINFER_ALLREDUCE_BACKEND=trtllm
vllm serve tencent/Hy3 \
  --tensor-parallel-size 8 \
  --speculative-config.method mtp \
  --speculative-config.num_speculative_tokens 2 \
  --tool-call-parser hy_v3 \
  --reasoning-parser hy_v3 \
  --enable-auto-tool-choice \
  --port 8000 \
  --served-model-name hy3

SGLang을 사용하는 경우 EAGLE 기반의 speculative decoding 옵션과 함께 실행합니다.

python3 -m sglang.launch_server \
  --model tencent/Hy3 \
  --tp-size 8 \
  --tool-call-parser hunyuan \
  --reasoning-parser hunyuan \
  --speculative-num-steps 2 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 3 \
  --speculative-algorithm EAGLE \
  --port 8000 \
  --served-model-name hy3

메모리가 부족한 환경이라면 FP8로 양자화된 Hy3-FP8 모델을 사용할 수 있습니다. 더 공격적인 압축이 필요하다면 텐센트가 함께 공개한 대형 모델 압축 툴킷 AngelSlim을 활용할 수 있는데, 일반적인 양자화 알고리즘부터 저비트(low-bit) 양자화, speculative sampling까지 폭넓게 지원합니다.

파인튜닝: LoRA부터 전체 미세조정까지

Hy3는 가중치 배포에 그치지 않고 완결된 파인튜닝 파이프라인을 함께 제공합니다. 세 가지 훈련 방식을 선택할 수 있어, 기존에 익숙한 도구를 그대로 활용할 수 있다는 점이 실용적입니다.

  • DeepSpeed 네이티브 학습: HuggingFace Transformers TrainerDeepSpeed를 기반으로 하며, ds_zero2_no_offload, ds_zero3_no_offload, ds_zero3_offload 세 가지 ZeRO 설정을 제공합니다.

  • LLaMA-Factory 학습: LLaMA-Factory에 익숙한 사용자를 위한 LoRA/전체 미세조정 설정 파일(hy_v3_lora_sft.yaml, hy_v3_full_sft.yaml)을 제공합니다.

  • ms-swift 학습: ms-swift를 통한 학습도 지원하며, 채팅 템플릿의 eos 토큰 문제를 바로잡는 패치까지 함께 포함되어 있습니다.

하드웨어 요구 사항도 명시되어 있습니다. max_seq_length를 4096으로 두고 zero3+offload를 끈 기준으로, LoRA 미세조정 은 80GB 이상 GPU 8장을 갖춘 단일 머신에서, 전체 미세조정(Full Fine-tuning) 은 80GB 이상 GPU 32장(4대 머신)에서 가능합니다. LoRA는 기본적으로 어텐션의 q_proj, k_proj, v_proj, o_proj에 적용됩니다.

학습 데이터는 메시지 리스트 형태로 구성하며, 앞서 설명한 사고 모드를 데이터 단위에서도 지정할 수 있습니다. 아래는 빠른 사고와 느린 사고 각각의 학습 데이터 예시입니다. 느린 사고 데이터에는 reasoning_content 필드로 모델의 사고 과정을 함께 담습니다.

# Fast thinking pattern (no_think)
{"reasoning_effort": "no_think", "messages": [{"content": "You are a helpful assistant.\nThe current time is 2026-01-01 13:26:12 Thursday", "role": "system"}, {"content": "1+1=?", "role": "user"}, {"role": "assistant", "content": "1+1=2"}]}

# Slow thinking pattern (high)
{"reasoning_effort": "high", "messages": [{"content": "You are a helpful assistant.\nThe current time is 2026-01-01 13:26:12 Thursday", "role": "system"}, {"content": "1+1=?", "role": "user"}, {"role": "assistant", "content": "1+1=2", "reasoning_content": "The user is asking for the result of 1 + 1. In basic decimal arithmetic, 1 + 1 equals 2."}]}

한 가지 실무 팁으로, 원본 Hy3 체크포인트는 각 전문가의 가중치를 개별적으로 저장하는데, 학습 전에 여러 전문가를 3D 텐서로 융합하는 HuggingFace 호환 포맷으로 변환하면(제공되는 convert_ckpt_to_outer.py 스크립트 사용) 로딩과 학습 속도를 높일 수 있습니다.

:pytorch::kr:파인튜닝의 대표적 기법인 LoRA(Low-Rank Adaptation)의 원리가 궁금하시다면 다음 논문(LoRA: Low-Rank Adaptation of Large Language Models)을 참고해주세요:

라이선스

Hy3는 Apache License 2.0으로 배포되고 있어, 연구 목적은 물론 상업적 용도로도 자유롭게 사용 및 수정이 가능합니다. FP8 양자화 버전인 Hy3-FP8 역시 동일한 조건으로 공개되어 있습니다.

:scroll: Hy3 소개 페이지

:hugs: Hy3 Hugging Face 모델

:github: Hy3 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! 텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. :smiley:

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: