주요 콘텐츠로 건너뛰기
AI 튜토리얼

Transformers로 Naive-N0.5-Flash 로컬에서 실행하기

Naive-N0.5-Flash가 코딩과 AI 연구에 적합한 이유를 알아보고, 하이브리드 SWA–DSA 아키텍처를 이해하며, 필요한 Transformers 의존성을 설치하고, 공개된 FP8 가중치로 텍스트를 생성하는 방법을 배워보세요.

Transformers로 Naive-N0.5-Flash 로컬에서 실행하기

Naive-N0.5-Flash란?

Naive-N0.5-Flash는 코딩과 AI 연구 및 개발을 위해 설계된 오픈 웨이트 Mixture-of-Experts 모델입니다. 총 3090억 개의 파라미터와 155억 개의 활성 파라미터를 포함하며, 최대 100만 토큰의 네이티브 컨텍스트 윈도우를 지원합니다.

모델 가중치와 추론 코드는 MIT 라이선스에 따라 공개됩니다. 모델은 Hugging Face에서, 소스 프로젝트는 GitHub에서 확인할 수 있습니다.

주요 기능

  • 네이티브 100만 토큰 컨텍스트: 전체 어텐션 레이어 없이 Sliding-Window Attention(SWA)과 DeepSeek Sparse Attention(DSA)을 결합해 사용합니다.
  • MoE 효율성: 모델의 총 파라미터 수는 3090억 개이지만, 각 토큰에 활성화되는 파라미터는 155억 개뿐입니다.
  • 코딩 및 AI 연구개발에 집중: 소프트웨어 엔지니어링, 연구, 시스템 최적화 역량 향상을 목표로 학습되었습니다.
  • FP8 추론: 공개된 체크포인트는 FP8을 지원하는 NVIDIA GPU에서 혼합 정밀도 추론을 지원합니다.
  • 고처리량 추론: NaiveRT 추론 시스템은 메가 커널 퓨전, Programmatic Dependent Launch, 추측 디코딩을 결합합니다. README에 따르면 Standard 모드에서는 사용자당 초당 최대 50토큰, Ultrafast 모드에서는 초당 최대 2,000토큰을 처리합니다.

하이브리드 어텐션 설계 이해하기

Naive-N0.5-Flash는 트랜스포머 레이어 48개를 사용하며, SWA 레이어 39개와 DSA 레이어 9개로 구성됩니다. SWA는 로컬 어텐션을 128토큰 윈도우로 제한하고, DSA는 인덱서를 사용해 전체 이력을 평가한 뒤 백본 어텐션에 사용할 상위 2,048개 토큰을 선택합니다.

모델은 6개 레이어로 구성된 모듈 8개로 구성됩니다. 일반적인 모듈은 SWA 레이어 5개 뒤에 DSA 레이어 1개가 오는 구조이며, 첫 번째 모듈의 첫 번째 레이어도 DSA로 대체됩니다. DSA는 GQA4로 알려진 4개의 키-값 그룹을 사용하는 grouped-query attention을 사용하며, 인덱서에는 쿼리 헤드 16개가 있습니다.

이 설계는 대부분의 어텐션 계산을 로컬로 유지하면서 긴 컨텍스트에서 선택된 정보가 생성에 영향을 줄 수 있도록 합니다. 전체 키-값 캐시는 유지되지만, 백본은 선택된 DSA 토큰에만 어텐션을 수행합니다.

하드웨어 및 설치 요구 사항

Naive-N0.5-Flash에는 FP8을 지원하는 NVIDIA GPU가 필요합니다. 모델 가중치는 약 315GB를 차지하며, 추론을 위해 추가 GPU 메모리도 확보해야 합니다.

README는 Transformers 기반의 빠른 시작 방법을 제공합니다. PyTorch 및 필수 커널과 함께 최신 버전의 Transformers를 설치합니다.

pip install "transformers[torch,kernels]>=5.17.0"

Transformers로 모델 실행하기

종속 항목을 설치하고 필요한 GPU 리소스를 확보한 후 Hugging Face에서 FP8 체크포인트를 불러옵니다. 다음 예제는 토크나이저를 생성하고, 모델을 불러오며, 사용자 메시지를 형식에 맞게 변환한 뒤 응답을 생성합니다.

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "NaiveAI/Naive-N0.5-Flash-FP8"
tokenizer = AutoTokenizer.from_pretrained(
    model_id,
    trust_remote_code=True,
)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    trust_remote_code=True,
    dtype="auto",
    device_map="auto",
)

inputs = tokenizer.apply_chat_template(
    [{"role": "user", "content": "Hello!"}],
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

output = model.generate(
    **inputs,
    max_new_tokens=2048,
)
response = tokenizer.decode(
    output[0, inputs["input_ids"].shape[1]:],
    skip_special_tokens=True,
)
print(response)

예제 작동 방식

  1. 체크포인트 선택: NaiveAI/Naive-N0.5-Flash-FP8은 Hugging Face의 FP8 모델을 식별합니다.
  2. 토크나이저 로드: trust_remote_code=True는 모델 저장소의 사용자 지정 Transformers 코드를 활성화합니다.
  3. 모델 로드: dtype="auto"는 Transformers가 체크포인트에 적합한 데이터 형식을 사용하도록 하며, device_map="auto"는 사용 가능한 장치에 모델 구성 요소를 배치합니다.
  4. 대화 형식 지정: apply_chat_template은 사용자 메시지를 모델이 예상하는 형식으로 변환하고 생성 프롬프트를 추가합니다.
  5. 텍스트 생성: max_new_tokens=2048은 새로 생성되는 토큰 수를 제한합니다.
  6. 응답만 디코딩: 입력 길이 다음부터 시작하는 슬라이스가 출력 전에 원래 프롬프트를 제거합니다.

권장 생성 설정

일반적인 사용을 위해 프로젝트에서는 temperature=1.0 및 top_p=0.95 설정을 권장합니다. 이 값들은 최소 README 예제에는 포함되어 있지 않지만, 샘플링 동작을 명시적으로 설정하려면 generate에 전달할 수 있습니다.

output = model.generate(
    **inputs,
    max_new_tokens=2048,
    temperature=1.0,
    top_p=0.95,
)

작업에 적합한 max_new_tokens 값을 사용하세요. 제한을 높이면 더 긴 답변을 생성할 수 있지만 생성 시간과 메모리 사용량도 증가합니다.

고급 사용 시 고려 사항

긴 컨텍스트를 신중하게 사용하기

1M 토큰 컨텍스트 윈도우는 하이브리드 SWA-DSA 아키텍처를 통해 네이티브로 지원됩니다. 긴 코드베이스, 연구 자료 또는 여러 파일을 사용하는 작업에서는 관련 컨텍스트를 구조화된 방식으로 제공하고 지침을 명확하게 유지하세요. 이 아키텍처는 SWA를 통해 로컬 세부 정보를 보존하면서 DSA를 통해 중요한 이력을 선택하도록 설계되었습니다.

로드 전에 GPU 용량 계획하기

체크포인트는 추가 추론 메모리를 고려하지 않아도 약 315GB를 차지합니다. 모델을 시작하기 전에 FP8을 지원하는 NVIDIA GPU 구성이 충분한 용량을 갖추었는지 확인하세요. device_map="auto"를 통한 자동 디바이스 배치는 사용 가능한 디바이스에 모델을 분산할 수 있지만, 체크포인트와 런타임에 필요한 총 메모리 용량을 줄이지는 않습니다.

최적화된 추론 고려

README에서는 NaiveRT를 프로젝트의 최적화된 추론 시스템으로 설명합니다. 이 시스템에는 메가 커널 융합, Programmatic Dependent Launch, 추측 디코딩 등의 기법이 포함됩니다. 기본적인 Transformers 배포를 넘어 높은 처리량이 필요하다면, NaiveRT 사례 연구와 구현 세부 정보가 담긴 프로젝트의 기술 블로그를 참조하세요.

벤치마크 맥락 검토

공개된 평가는 코딩, 소프트웨어 엔지니어링, 에이전트 작업, AI 연구, 시스템 최적화를 다룹니다. 달리 명시되지 않은 경우, 결과는 일반적으로 Claude Code 2.1.207, 1M 토큰 컨텍스트 창, temperature 1.0, top-p 0.95, 기본 파일 I/O 및 Bash 도구를 사용해 평가되었습니다. 벤치마크 비교는 명시된 하네스와 평가 프로토콜에 따라 달라진다는 점을 고려하세요.

라이선스 및 추가 리소스

Naive-N0.5-Flash는 MIT 라이선스로 공개됩니다. 모델 릴리스와 관련 프로젝트는 NaiveAI GitHub 조직 또는 NaiveAI Hugging Face 프로필에서 확인하세요. 아키텍처, 학습 과정, 추론 최적화에 관한 기술적 배경은 프로젝트의 기술 블로그에서 확인할 수 있습니다.

결론

Naive-N0.5-Flash는 309B개 매개변수의 MoE 설계와 15.5B개의 활성 매개변수, 하이브리드 SWA–DSA 어텐션, 기본 1M 토큰 컨텍스트 창을 결합합니다. 로컬에서 사용하려면 필요한 커널과 함께 Transformers를 설치하고, 약 315GB의 가중치 용량을 지원하는 FP8 지원 NVIDIA 하드웨어를 사용한 뒤, Hugging Face 체크포인트를 로드하고 권장 샘플링 설정으로 응답을 생성하세요.