오픈소스 스트리밍 MoE 추론 프레임워크 'Edge0' 소개
Edge0-AI/Edge0
GitHub오픈소스 스트리밍 MoE 추론 프레임워크인 edge0이 공개되었습니다. SSD 전문가 오프로드와 Recover-LoRA 등 최신 기술을 통합하여 대규모 언어 모델(LLM)의 효율적인 구동 환경을 제공합니다.
- 전문가 가중치를 필요할 때만 불러오는 스트리밍 방식과 사전 라우팅 예측 기능을 결합했습니다. 이를 통해 디코딩 처리량을 최대 59%까지 높이고 메모리 사용량을 최적화하는 것이 핵심입니다.
- 4비트 양자화를 적용하면서도 Recover-LoRA 기법으로 성능 저하를 최소화하여, 온디바이스나 제한된 환경에서도 높은 품질의 LLM 서비스를 구현할 수 있습니다.
- 현재는 Apple Silicon 기반 MLX 백엔드가 주력이며, CUDA 등 다른 플랫폼 지원은 로드맵에 있습니다. 사용 전 반드시 하드웨어 및 Python/MLX 버전 요구사항을 확인해야 합니다.
Edge0은 스트리밍 (MoE) 추론 프레임워크입니다. 이 프레임워크는 SSD 전문가 오프로드(expert offload), Recover-, 그리고 사전 라우팅 예측(prerouter routing prediction)이라는 검증된 조합을 확장 가능한 형태로 구현했습니다. 이를 통해 (LLM)의 추론 과정을 효율적으로 관리할 수 있습니다.
이 아키텍처는 전문가 를 필요할 때만 스트리밍 방식으로 불러와 메모리 사용량을 최적화하며, 사전 라우팅 예측 기능을 활용하여 디코딩 처리량(decode throughput)을 최대 +59%까지 높일 수 있습니다. 또한, 4비트 를 적용하면서도 Recover-LoRA 기법으로 학습된 어댑터를 사용하여 양자화로 인한 성능 저하를 최소화했습니다.
Edge0은 `edge0-35b`와 `edge0-8b` 두 가지 모델 티어를 제공하며, 각 티어는 기본 체크포인트와 함께 훈련된 LoRA 및 사전 라우터 어댑터를 하나의 디렉토리에 통합하여 배포합니다. 현재 MLX 백엔드는 Apple Silicon(M1/M2/M3/M4)에서 구동되며, `edge0 serve <tier>` 명령이나 Python의 `AutoEngine` 클래스를 통해 모델을 실행할 수 있습니다.
모델 구동 시 메모리 측면에서 `edge0-35b`는 약 2.9 GB의 최대 활성 메모리를, `edge0-8b`는 약 1.0 GB를 필요로 합니다. 성능 비교 결과에 따르면, Edge0 파이프라인은 기존 fp16 기반 모델 대비 평균적으로 작은 손실(예: edge0-35b에서 3.9점)을 보이며 높은 품질을 유지하는 것으로 나타났습니다.
용어 풀이
- 오픈소스
- 소스 코드를 공개해 누구나 보고 고치고 다시 배포할 수 있게 한 소프트웨어.
- Mixture-of-Experts
- 여러 하위 모델 중 일부만 골라 계산하는 구조. 모델이 커도 실행 비용을 줄일 수 있어요.
- LoRA
- 모델 전체 대신 작은 추가 부분만 학습시켜 적은 비용으로 미세 조정하는 기법.
- 대규모 언어 모델
- 방대한 글을 학습해 문장을 이해하고 만들어 내는 AI 모델. ChatGPT, Claude, Gemini가 여기에 속해요.
- 가중치
- 학습으로 정해진 모델 내부의 숫자 값. 내려받는 모델 파일의 본체예요.
- 양자화
- 모델 숫자의 정밀도를 낮춰 크기와 메모리 사용을 줄이는 기법. 품질이 조금 떨어질 수 있어요.