메모리를 적게 사용하여 게이밍 GPU에서 자신만의 LLM을 훈련할 수 있게 되었습니다
요약
연구자는 최적화기 개선을 통해 LLM 훈련에 필요한 VRAM 요구량을 대폭 줄이는 방법을 개발했습니다. 이를 통해 소비자용 GPU에서도 27B급 모델을 성공적으로 훈련할 수 있게 되었으며, 기존 모델 변환 및 양자화 작업도 진행하고 있습니다.
핵심 포인트
- 최적화기 개선으로 VRAM 요구량을 가중치당 1바이트 이하로 축소했습니다.
- 단일 24GB 3090에서 27B 모델, 16GB GPU에서 23B 모델 훈련에 성공했습니다.
- 훈련된 모델은 가중치당 약 1.6비트 수준으로 매우 작게 구현되었습니다.
- Qwen3.8 등 기존 LLM의 양자화 및 파인튜닝 작업도 진행 중입니다.
요약: 3090의 24GB VRAM으로 자체 27B 모델을 훈련할 수 있지만, 좋은 성능을 위해서는 수천억 개의 토큰을 거쳐야 합니다. 저는 기존 모델 변환 작업을 진행하고 있습니다. 더 많은 정보가 필요하면 레포지토리를 확인해 주세요. 저는 40.4GB Qwen Flash Next GGUF를 가지고 있습니다.
안녕하세요, 저는 AI 연구를 하고 있습니다. 저는 AdamW가 요구하는 가중치당 ~16 바이트의 VRAM이 필요하지 않은 최적화기(optimizer)를 개발하는 데 주력해 왔습니다. BitNet (Ma et al.)이 대규모 스케일에서 전체 정밀도 품질과 일치함을 보여주었기 때문에, 저는 테르너리 네트워크(ternary networks) 훈련에 집중했습니다. 문제는 BitNet 역시 훈련 중에는 전체 정밀도 가중치를 유지한다는 것이므로 여전히 같은 양의 메모리가 필요하다는 것입니다.
저는 이 문제를 가중치당 16바이트에서 1바이트 또는 그 이하로 줄였습니다. 이는 사용자들에게 자체 10~20B 파라미터 모델을 소비자용 GPU에서 훈련할 수 있다는 것을 의미합니다. 단일 24GB 3090으로 27B 모델 훈련과 16GB GPU로 23B 모델 훈련에 성공했습니다. 훈련된 모델은 가중치당 약 1.6비트(~27B에서 6GB)로, 16비트보다 10배 작고 Q8보다 5배 작습니다.
또한 기존 모델을 변환하고 훈련하는 작업도 진행했습니다. 이는 더 어렵지만 여전히 진행 중이며 유망한 결과를 얻었습니다. 저는 Qwen3.8 27B를 양자화(quantized)하고 훈련했는데, 아래에 게시된 파일에는 약 2GB의 어댑터가 포함되어 있어 파일 크기가 8GB까지 늘어났습니다. 현재는 어댑터가 없는 버전도 만들고 있습니다.
이 모델은 GSM8K에서 0.895를 기록하여 전체 정밀도와 동일하며, HumanEval에서는 0.84 대 0.93을 기록했습니다. 또한 제 성능이 낮은 12GB 노트북 4080에서도 약 2~3 토큰/초로 실행됩니다. 다만 이 수치는 커스텀 커널(custom kernels), 엔지니어링 등을 통해 크게 개선될 수 있습니다. 이 부분은 여러분의 도움이 필요합니다.
또한 n-gram 테이블을 포함하여 Qwen Flash Next를 40.4GB까지 양자화하고 훈련했습니다 (8GB).
이 모델은 네트워크의 기술을 대체로 유지합니다 (GSM8K 벤치마크에서 동등한 점수, HumanEval에서는 약간 뒤처지지만, 아쉽게도 TerminalBench2.1과 같은 더 큰 벤치마크를 위한 컴퓨팅 자원이 없습니다만 혹시 여러분 중 누가 도와주실 수 있을까요) 하지만 사실 정보는 잊어버립니다.
제 경험상 웹 검색을 제공하면 대부분 잘 작동하지만 이는 엄격하게 측정된 것은 아닙니다. 게다가 이 모델들은 아주 좋지는 않으며, 때때로 루프(loop)가 발생하고 사실 기억 능력이 떨어집니다. 하지만 unsloth의 gguf와는 달리 사용자가 직접 계속 훈련시킬 수 있다는 점에서 순수하며, 소비자용 GPU(consumer GPUs)로 모델을 훈련할 수 있습니다. 즉, 루프 동작을 제거하거나, 알려주길 원하는 사실 정보를 가르치거나, 특정 목적에 맞게 전문화할 수 있습니다.
저는 이 작업에 계속 임하고 있으며, 아마도 수년 동안 지속할 것입니다. 코드는 비상업적 사용(non-commercial use)을 위해 공개되었습니다.
확인해 보세요:
- 훈련을 위한 핵심 저장소(core repo for training): https://github.com/oguzeldereli/ttf-ternary
- 변환용 저장소(repo for conversion): https://github.com/oguzeldereli/ttf-conversion
- ttf로 훈련된 모델 실행용 저장소(Repo for running models trained by ttf): https://github.com/oguzeldereli/ttf-home
- 변환된 Qwen 3.8 27B용 GGUF (약 8GB 및 6.7GB): https://huggingface.co/oguzeldereli/ttf-Qwen3.8-27B-GGUF
- 변환된 Qwen 3.8 Flash Next용 GGUF (약 40.4GB): https://huggingface.co/oguzeldereli/ttf-Qwen3.8-Flash-Next-GGUF
Qwen 4 27B 인스턴스가 출시되면 변환하겠습니다.
전체 논문(Full paper): https://github.com/oguzeldereli/ttf-ternary/blob/main/paper/ttf_paper1_training.pdf
또한, 프로젝트가 마음에 드신다면 GitHub 스타를 부탁드립니다. 제출자: /u/oguzeldereli [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기