본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 04. 22:33

제 역할에 대해 미리 명확히 말씀드리겠습니다

요약

Helix v2/Auralis는 Mamba-2, GLA, Sparse-Attention을 결합한 0.9B 규모의 하이브리드 언어 모델입니다. 설계자는 AI 코딩 에이전트를 활용해 아키텍처를 설계하고 구현하는 새로운 협업 방식을 소개하며 모델의 학습 현황을 공유합니다.

핵심 포인트

  • Mamba-2, GLA, Sparse-Attention을 혼합한 28개 레이어 구조
  • 선형 시간 추론과 일정한 메모리 사용을 위한 하이브리드 설계
  • 독일어와 영어를 지원하는 200k SentencePiece 어휘집 사용
  • AI 에이전트를 활용한 설계자 중심의 개발 프로세스

제 역할에 대해 미리 명확히 말씀드리겠습니다. 이는 매우 중요한 문제이기 때문입니다: 저는 이 코드를 직접 한 땀 한 땀 작성하지 않았습니다. 저는 시스템을 설계하고 지시했습니다 — 아키텍처(Architecture), 의사결정, 이유(why), 그리고 디버깅의 규율을 담당했습니다. 실제 구현은 AI 코딩 에이전트(Claude 및 Codex)가 작성했습니다. 저는 설계자이자 리드였고, 그들은 실행자였습니다.

그러한 협업이 제가 이 글을 쓰는 이유의 절반입니다. 나머지 절반은 이것이 여전히 진행 중인 작업이며, 저는 솔직한 버전을 보여드리고 싶기 때문입니다.

이것은 무엇인가

Helix v2 / Auralis — 토크나이저(Tokenizer)부터 구축된(파인튜닝(Fine-tune)이나 API 래퍼(Wrapper)가 아닌) 약 0.9B 파라미터 규모의 하이브리드 (Hybrid) 언어 모델입니다:

  • 28개 레이어 (Layers), 이질적 구성: 6× Mamba-2 (상태 공간 모델, State-space) → 16× GLA (Gated Linear Attention) → 6× Sparse-Attention
  • Pre-Norm (RMSNorm), RoPE, SwiGLU FFN
  • 200k SentencePiece 결합 어휘집 (Tied vocabulary), 독일어/영어 이중 언어 지원
  • d_model 1280, bf16

[

Helix v2 architecture — 28-layer hybrid: 6× Mamba-2, 16× GLA, 6× Sparse-Attention, tied 200k vocabulary
]

혼합 구성의 근거: 하단에는 정보를 이동시키기 위한 저렴한 **Mamba-2 (O(n))**를 배치하고, 중간에는 GLA를, 그리고 정확한 토큰 혼합(Token-mixing)이 실제로 중요한 상단에는 몇 개의 정밀한 Sparse-Attention 레이어를 배치했습니다. 따라서 대부분의 레이어는 이차 복잡도(Quadratic-attention) 비용을 지불하지 않습니다.

다음은 단일 Mamba-2 믹서 블록(Mixer block)의 단면입니다 — 상태 h가 이차 어텐션 행렬(Quadratic attention matrix)을 대체하여, 선형 시간 추론(Linear-time inference)과 일정한 메모리(Constant memory)를 제공합니다:

[

Mamba-2 selective state-space mixer — cross-section of one block, linear-time O(n)
]

솔직한 상태 (진행 중인 작업)

현재 학습 단계는 ~33k / 50k 단계입니다:

  • ✅ 안정적으로 학습 중; 독일어와 영어를 유창하게 학습하며 두 언어를 분리하여 유지함
  • ✅ 역사 및 지리 분야의 사실 관계가 상당히 잘 고정됨 (아래 측정치 참조)
  • ⚠️ 과학 및 번역 능력은 다소 약함; 현재 데이터 믹스(data mix)에 **코드(code)가 0%**임
  • 지시 이행(instruction-following) 기능 아직 없음 (SFT 미실시) — 질문을 하면 답변이 아닌 단순한 문장 이어쓰기가 출력됨
  • ⚠️ 그리디 디코딩 (Greedy decoding) 결과가 여전히 거침

만약 다운로드할 수 있는 챗봇을 찾고 계신다면, 이것은 아직 아닙니다. 하지만 엔지니어링 측면이 궁금하시다면 계속 읽어주세요.

공유할 가치가 있는 부분: 문제는 데이터인 경우가 드물었다

가장 유용한 교훈은 아키텍처 (architecture)에 관한 것이 아니었습니다. 나쁜 결과에 대한 나의 첫 번째 설명이 얼마나 자주 틀렸는지, 그리고 세심한 프로세스가 어떻게 그 오류를 잡아냈는지에 관한 것이었습니다.

어느 시점에 모델이 퇴보한 것처럼 보였습니다. 나의 직감(그리고 내가 물어본 두 사람의 직감)은 "데이터가 나쁜 게 틀림없다"였습니다. 하지만 그렇지 않았습니다. 그것은 일련의 측정 문제 (measurement problems) 들이었습니다:

  1. 학습률 (Learning rate)이 너무 높음: 웜 스타트 (warm-start) 연속 사전 학습 (continued pretraining)에 비해 너무 높았습니다 (처음부터 시작하는 스케줄에서 그대로 가져온 문제).
  2. 유효하지 않은 베이스라인 (Invalid baseline) — 서로 다른 검증 세트(validation sets)에서 측정된 검증 손실 (val-loss)을 비교함.
  3. 잘못된 토큰/바이트 상수 (Wrong tokens/byte constant) → bits-per-byte가 약 33% 부풀려짐. 서류상으로는 모델이 실제보다 더 나빠 보였습니다.
  4. 확률적 평가 (Stochastic eval) — 시드(seed)를 재설정하지 않아, 각 평가마다 다른 토큰이 추출됨. "추세"는 절반은 실제 변화였고, 절반은 샘플링 노이즈(sampling noise)였습니다.
  5. 위키(wiki)로만 구성된 검증 꼬리 (validation tail) 부분이 약 3.2 bits-per-byte라는 가짜 교차 언어 격차를 만들어냈습니다. 실제 격차는 약 1.04였습니다.

그리고 나를 유령을 쫓게 만들 뻔했던 문제는 바로 이것이었습니다: "모델에 지식이 없다." 그리디 디코딩 (Greedy decoding)이 단순한 사실들에 대해 계속해서 갈팡질팡했습니다. "사실 관계가 존재하지 않는다"라는 결론은 틀린 것으로 밝혀졌습니다. 나는 대조 마진 (contrastive margin, 토큰당 NLL(wrong) − NLL(correct))을 통해 이를 제대로 측정했고, 사실 관계는 확실히 고정되어 있었습니다. 갈팡질팡하던 현상은 지식의 부재가 아니라 디코딩 아티팩트 (decoding artifact) 였습니다.

다음은 현재의 증거 시트입니다 — 학습 곡선 (training curve), 내가 실제로 신뢰하는 지표들, 그리고 무엇이 작동하고 무엇이 작동하지 않는지에 대한 솔직한 성숙도 그리드 (maturity grid)입니다:

Helix v2 measurements and maturity — training curve, key metrics, component maturity grid

내가 계속해서 되새기는 교훈은 이것입니다: 나쁜 수치가 "데이터"가 되기 전에, 그 수치가 당신이 생각하는 것을 실제로 측정하고 있는지 확인하십시오.

도움이 된 것들

  • 결정론적 평가 (Deterministic eval) (매 평가 전 재시드(re-seed) 수행) — 노이즈가 심한 곡선을 읽기 쉬운 곡선으로 바꾸어 주었습니다.
  • 커스텀 200k 토크나이저 (tokenizer) (GPT-2의 토크나이저는 독일어에 대해 약 2배 정도 비효율적이었습니다)
  • 2단계 데이터 정제 파이프라인 (data-cleaning pipeline), 전체 검증 손실 (val-loss)을 쫓는 대신 **지식 프로필 (knowledge profile)**에 따라 데이터를 수집했습니다.
  • 지식 (knowledge), 회상 (recall), 그리고 디코딩 동작 (decoding behavior)을 별개의 것으로 취급 — 이들을 혼동하는 바람에 몇 주를 허비했습니다.

라이선스 (의도적으로 명확하게 기술함)

  • 코드: Apache-2.0 — 완전 공개
  • 가중치 (Weights): OpenRAIL-M (책임 있는 사용 제한 사항) — 이는 가중치가 엄격한 의미에서 OSI "오픈 소스 (open source)"는 아님을 의미합니다. 용어를 오용하기보다 차라리 솔직하게 말하는 편을 택하겠습니다.

다음 단계

장기적인 계획은 단순히 "이 모델 하나를 더 크게 만드는 것"이 아닙니다. 고정된 범용 베이스 모델에 교체 가능한 DoRA/LoRA 어댑터 (adapters)를 결합하는 방식입니다. 이것이 바로 대규모 200k 어휘 사전 (vocabulary)이 존재하는 이유이며, 베이스 모델이 커질수록 파라미터 비용이 저렴해지는 이유이기도 합니다:

Auralis system vision — frozen universal base plus DoRA/LoRA adapters, and the scaling roadmap

  • 50k까지 완료 → 지시사항을 따를 수 있도록 SFT (Supervised Fine-Tuning) 수행
  • 작고 재현 가능한 데모
  • 그다음은 스케일링 (scaling) — 1B는 목표가 아닌 토대입니다 (3B / 7B+). 여기서 대규모 200k 어휘 사전의 파라미터 비중이 줄어들면서 비로소 그 가치를 제대로 발휘하게 됩니다.

리포지토리 (비판은 언제나 환영합니다):
👉 https://github.com/AuraIis/Helix

이 모든 과정에서 가장 가치 있었던 부분은 제가 의사결정에 대한 책임을 지는 동안 AI 에이전트 (AI agents)가 구현을 수행하게 한 것이며, 저의 가설들이 자주 교정되는 경험을 한 것이었습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0