인공지능 모델의 성능을 높이기 위해 더 많은 파라미터를 투입하던 기존의 스케일링 법칙에 새로운 균열이 생겼다. Sapient Intelligence가 공개한 HRM-Text-1B는 모델의 크기를 무작정 키우는 대신 연산의 깊이를 조절하는 계층적 추론 모델(Hierarchical Reasoning Model, HRM) 구조를 채택했다. 이 모델은 제한된 파라미터 수 내에서도 사실상 무한한 연산 깊이를 가질 수 있도록 설계되어 효율적인 추론의 새로운 가능성을 제시한다.

계층적 구조와 기술적 제원

HRM-Text-1B는 두 가지 서로 다른 시간 척도를 가진 재귀적 구조를 가진다. 고수준의 느린 모듈인 H와 저수준의 빠른 모듈인 L이라는 두 개의 트랜스포머 모듈이 동일한 입력 임베딩을 대상으로 반복 연산을 수행한다. 구체적으로는 H_cycles와 L_cycles의 조합을 통해 연산을 반복하며, 이 과정에서 z_L과 z_H라는 상태 주입 방식의 가산 연산이 이루어진다. 이를 통해 모델은 파라미터 수를 늘리지 않고도 더 깊은 사고 과정을 거칠 수 있다.

기술적 세부 사항을 살펴보면 전체 파라미터 수는 약 10억 개이며 히든 사이즈는 1536이다. H와 L 스택당 레이어 수는 각각 16개로 구성되었고, 12개의 다중 헤드 어텐션(MHA, 여러 관점에서 입력 데이터의 관계를 분석하는 메커니즘)을 사용하며 헤드 차원은 128이다. 연산 사이클은 2 곱하기 3으로 설정되었으며 최대 시퀀스 길이는 4096 토큰이다. 어휘 사전 크기는 65,536개이며 RoPE(회전 위치 임베딩, 토큰의 상대적 위치 정보를 효율적으로 학습하는 기법)와 SwiGLU(활성화 함수, 신경망의 비선형성을 높여 학습 성능을 개선하는 함수)를 적용했다. 정규화에는 파라미터가 없는 Pre-RMSNorm(제곱평균제곱근 정규화, 학습 안정성을 높이기 위해 값의 범위를 조정하는 기술)이 사용되었다.

학습 과정에서는 400억 개의 고유 토큰을 사용했으며 AdamATan2 옵티마이저를 통해 bfloat16 정밀도로 훈련되었다. 글로벌 배치는 196,608 토큰 규모이며 학습률은 2.2e-4로 설정되었다. 해당 모델을 사용하기 위해서는 hrm_text 모델 클래스가 포함된 트랜스포머 라이브러리가 필요하며, 최신 버전이 아닐 경우 아래 명령어로 설치해야 한다.

bash
pip install --upgrade "git+https://github.com/huggingface/transformers.git@main"

실무 적용 시나리오와 추론 전략

개발자가 주의해야 할 점은 이 모델이 사전 정렬(Pre-alignment) 단계의 체크포인트라는 사실이다. 즉, 챗봇처럼 대화하거나 지시를 따르도록 튜닝된 모델이 아니며 PrefixLM(접두사 언어 모델, 입력된 접두사를 바탕으로 다음 텍스트를 예측하는 방식) 목적 함수로 학습되었다. 따라서 실제 서비스에 적용하려면 SFT(지도 미세 조정, 정답이 있는 데이터를 통해 모델을 학습시키는 과정)나 RLHF(인간 피드백 기반 강화 학습, 사람이 선호하는 답변을 하도록 학습시키는 기술)와 같은 추가 정렬 과정이 필수적이다.

그럼에도 불구하고 원본 체크포인트 상태에서 성능을 끌어내기 위한 구체적인 프롬프트 전략이 제시되었다. 분류, 추출, 구조화된 출력과 같은 일반적인 자연어 처리 작업에는 direct 조건을 사용하고 2개에서 8개 사이의 퓨샷(Few-shot, 소수의 예시를 제공하는 방식) 예시를 함께 입력하는 것이 가장 효과적이다. 반면 수학 문제 풀이나 개방형 생성과 같은 추론 작업에는 synth와 cot가 결합된 복합 조건을 사용해야 한다. 여기서 cot는 생각의 사슬(Chain-of-Thought, 단계별로 추론 과정을 생성하는 기법)을 의미하며, synth는 정제된 합성 데이터를 의미한다. 이 복합 접두사를 사용하면 모델이 단계별로 답변하는 추론 능력을 보여주지만, 지시 튜닝 모델보다는 품질이 낮을 수 있다는 점을 인지해야 한다.

모델의 실제 추론 코드는 다음과 같다.

python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "sapientinc/HRM-Text-1B"

tokenizer = AutoTokenizer.from_pretrained(model_id)

model = AutoModelForCausalLM.from_pretrained(

model_id,

dtype=torch.bfloat16,

trust_remote_code=True,

).cuda().eval()

synth,cot composite — reasoning / CoT style

condition = "<|synth|><|cot|>"

prompt = f"{condition}Question: What is the square root of 144? Answer:"

inputs = tokenizer(prompt, return_tensors="pt").to("cuda")

with torch.no_grad():

outputs = model.generate(**inputs, max_new_tokens=64)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

HRM-Text-1B는 모델의 크기가 곧 지능이라는 고정관념을 깨고 연산 구조의 효율화를 통해 추론 능력을 극대화한 새로운 패러다임의 모델이다.