1조 파라미터와 100만 컨텍스트를 갖춘 Inkling의 제원

ChatGPT나 Gemini처럼 이미지와 텍스트를 동시에 처리하는 기능은 익숙하지만, 오디오까지 포함한 초거대 오픈 모델을 직접 운용하는 것은 여전히 어렵다. Thinking Machines는 텍스트, 이미지, 오디오, 비디오를 망라한 45조 개의 토큰으로 학습시킨 멀티모달 LLM Inkling을 Hugging Face에 공개했다. Inkling은 전체 9,750억 개(975B)의 파라미터를 보유한 약 1조 파라미터 규모의 모델이며, 100만 토큰의 컨텍스트 윈도우를 지원한다.

이 모델은 MoE(Mixture-of-Experts, 입력 데이터의 특성에 맞는 특정 전문가 신경망 경로만 활성화하는 구조) 방식을 채택하여 실제 추론 시에는 410억 개(41B)의 활성 파라미터만 사용한다. Inkling은 이미지, 텍스트, 오디오 입력을 네이티브하게 수용하는 최초의 대규모 오픈 모델로 설계되어 도메인 적응을 위한 파인튜닝에 최적화되었다. 모델은 디코더 전용(decoder-only) 구조를 가지며, 텍스트 생성뿐 아니라 다양한 모달리티 간의 추론을 수행하는 에이전트 능력을 갖추고 있다. 가중치는 Hugging Face를 통해 공개되어 개발자가 자신의 인프라 환경에 맞춰 직접 내려받아 사용할 수 있다.

상대적 어텐션과 하이브리드 구조의 구현 세부 사항

Inkling은 위치 정보 주입을 위해 일반적인 RoPE(Rotary Positional Embedding, 회전 위치 임베딩) 대신 상대적 어텐션(Relative Attention)을 사용한다. 각 어텐션 층은 어텐션 로짓에서 위치 정보를 직접 학습하며, 쿼리-키-값 외에 네 번째 투영 층을 통해 토큰 및 헤드별 상대적 특징 R을 생성한다. 이 투영 텐서는 키와 쿼리 벡터 사이의 거리 정보로 조정된 후 어텐션 모듈 내부로 전파되어 위치 정보를 인코딩한다.

어텐션 구조는 글로벌 어텐션(전체 컨텍스트를 한 번에 처리)과 슬라이딩 윈도우 어텐션(고정된 창을 이동하며 처리)을 5:1 비율로 섞은 하이브리드 방식을 채택했다. 슬라이딩 윈도우 층 5개당 글로벌 층 1개가 배치되는 교차 패턴을 가지며, 최종 층은 글로벌 어텐션을 사용하여 풍부한 특징 표현을 구축한다. 이러한 하이브리드 스킴은 연산 효율성을 높이면서도 대규모 문맥 내의 장거리 의존성을 유지하는 역할을 한다. 이를 통해 모델은 100만 토큰이라는 방대한 컨텍스트 내에서도 효율적인 계산이 가능하다.

SConv와 MoE 및 모달리티별 임베딩 타워 설계

모델은 숨겨진 상태(hidden states) 위에 SConv(Short 1D Convolution, 짧은 1차원 컨볼루션)를 적용하여 지역적 표현을 처리한다. SConv는 현재 토큰과 이전 W-1개의 숨겨진 상태를 읽으며, 여기서 W는 슬라이딩 윈도우 크기를 의미한다. SConv가 지역적 표현 학습을 전담함으로써 어텐션과 MoE 모듈은 지역적 표현의 부담에서 벗어나 고차원적인 추론에 집중할 수 있다. MoE 구조는 6개의 라우팅 전문가와 항상 활성화되는 2개의 공유 전문가 싱크(shared experts sink)로 구성되어 범용 정보 처리 능력을 안정적으로 유지한다.

시각 이해를 위해 여러 선형 층이 픽셀을 점진적으로 병합하여 패치당 하나의 임베딩을 생성하는 계층적 MLP 패치파이어(patchifier)를 도입했다. 오디오 이해는 100ms 단위의 오디오 청크를 멜 스펙트로그램(mel spectrogram, 인간의 청각 특성을 반영한 주파수 분석 도구)으로 변환하고 이를 이산화된 멜 빈(bin, 주파수 구간)으로 분류하는 방식을 사용한다. 이렇게 변환된 멜 빈 값들은 오디오 임베딩 타워를 거쳐 최종 입력값으로 합산된다. 이미지 입력에는 비디오 처리를 위한 추가적인 시간 차원이 포함되어 프레임 간의 연속성을 처리할 수 있도록 설계되었다.

정밀도별 VRAM 요구량과 추론 엔진 및 에이전트 활용

사용자는 배포 환경의 VRAM 용량에 따라 BF16, NVFP4, 1비트 양자화 설정 중 하나를 선택하여 배포 가능 여부를 판단할 수 있다. BF16(Bfloat16) 체크포인트는 2TB의 VRAM을 요구하며, NVFP4(Nvidia FP4) 버전은 600GB의 VRAM이 필요하다. Unsloth는 1비트 정밀도 양자화(Quantization, 가중치를 적은 비트로 표현해 용량을 줄이는 기술)를 통해 원본 대비 VRAM 소비량을 95% 낮춘 버전을 제공하여 하드웨어 진입 장벽을 낮췄다.

추론 엔진은 transformers v5.14.0, SGLang, vLLM, llama.cpp를 지원한다. SGLang은 8개 GPU 분산 배치 시 30000번 포트로 OpenAI 호환 API를 제공하며, `--tp-size` 인자로 GPU 개수를 설정하고 `--mem-fraction-static`으로 KV 캐시 여유 공간을 확보한다. vLLM은 `--tensor-parallel-size` 인자로 텐서 병렬화를 수행하며, `--max-model-len`으로 컨텍스트 윈도우 크기를 제한해 메모리 한계를 관리한다. 추론 강도는 `reasoning_effort` 인자를 통해 none, minimal, low, medium, high, xhigh, max의 7단계로 조절 가능하며, 이는 transformers의 any-to-any 파이프라인을 통해 구현된다.

모델의 실무 활용을 위해 Pi라는 코딩 에이전트 하네스(harness, 모델과 외부 도구를 연결하는 기본 골격)를 지원한다. 사용자는 `~/.pi/agent/models.json` 설정 파일에 llama.cpp 서버 엔드포인트나 Hugging Face의 Inference Providers 주소를 추가하여 Pi를 활성화한다. 이후 프로젝트 디렉토리에서 pi 명령어를 호출하면 모델이 외부 도구를 사용해 복잡한 수학 추론 문제를 해결하는 워크플로우를 수행한다. 모델 가중치는 Hugging Face에서 제공된다.

bash
pip install -U transformers