- FreeToken 배포는 호환되는 데스크톱 하드웨어에서 로컬 Mixture-of-Experts 서빙을 제공합니다.
- 데스크톱 설정은 모델과 채팅을 위한 그래픽 인터페이스와 함께 Windows 및 Linux를 지원합니다.
- 하드웨어 계획은 GPU 메모리, 시스템 RAM, 메모리 대역폭 및 모델 크기에 따라 달라집니다.
- CLI 설치는 터미널 기반 구성을 선호하는 사용자를 위해
uv또는pip를 사용합니다. - 성능 튜닝은 모델 선택, 백그라운드 프로세스 제어 및 RAM 가용성 확인부터 시작합니다.
FreeToken 배포 개요
FreeToken 배포는 소비자용 하드웨어에서 오픈 웨이트 Mixture-of-Experts 모델을 실행하기 위한 로컬 AI 서빙 설정입니다. GPU를 유일한 리소스로 취급하는 대신, FreeToken은 GPU 메모리, 시스템 RAM, CPU 리소스 및 사용 가능한 인터커넥트 대역폭을 조정합니다. 이러한 설계 덕분에 데스크톱에서도 대형 모델을 보다 쉽게 사용할 수 있지만, 최종 사용 경험은 모델과 하드웨어 구성에 크게 좌우됩니다.
공식 FreeToken GitHub 저장소는 이 프로젝트를 엣지 네이티브 MoE 서빙 엔진으로 설명합니다. 런타임에는 대역폭 적응형 CPU–GPU 공동 실행, 더블 버퍼링 프리필 스트리밍, 글로벌 전문가 캐싱, 그래프 호환 실행 및 FTW 고속 가중치 형식이 포함됩니다.
영상 주요 내용:
- Windows 및 Linux 데스크톱 설치 경로
- 단일 고메모리 GPU를 사용한 로컬 모델 로딩
- 대형 MoE 모델에 필요한 시스템 RAM
- 브라우저 기반 채팅 인터페이스 연결
- 초당 토큰 수를 활용한 실제 성능 확인
데스크톱 애플리케이션은 엔진 설정의 상당 부분을 처리하고 모델 다운로드, 엔드포인트 실행, 채팅 및 런타임 옵션 조정을 위한 그래픽 워크플로를 제공하므로 가장 간단한 시작 방법입니다. 명령줄 경로는 더 많은 제어 기능을 제공하며, 반복 가능한 배포, 개발 환경 및 로그를 직접 확인하려는 사용자에게 더 적합합니다.
| 배포 경로 | 적합한 사용자 | 주요 장점 | 주요 제한 사항 |
|---|---|---|---|
| 데스크톱 앱 | 처음 사용하는 사용자 | 안내형 설정 및 그래픽 컨트롤 | 낮은 수준의 구성에 대한 가시성이 낮음 |
uv를 사용한 CLI | 개발자 및 고급 사용자 | 반복 가능한 환경과 유연한 명령어 | 터미널 사용 경험 필요 |
| 소스 빌드 | 기여자 및 테스터 | 프로젝트 파일에 직접 접근 가능 | 추가 설정 및 종속성 관리 필요 |
| 데스크톱과 채팅 UI 함께 사용 | 대화형 로컬 사용 | 엔진 실행부터 대화까지 빠르게 진행 가능 | 모델과 메모리 배치에 따라 성능이 달라짐 |
모델을 빠르게 테스트하는 것이 목표라면 데스크톱 애플리케이션부터 시작하세요. 모델, 메모리 및 엔드포인트 요구 사항을 이해한 후 CLI로 전환하는 것이 좋습니다.
하드웨어 및 모델 계획
성공적인 FreeToken 배포에서 가장 중요한 부분은 모델을 사용 가능한 메모리에 맞추는 것입니다. 단일 GPU만으로도 유용한 로컬 추론을 수행할 수 있지만, 선택한 모델이 VRAM에 완전히 들어가지 않는 경우 시스템 RAM이 필수적입니다. 대형 MoE 모델은 전문가 가중치와 런타임 데이터가 호스트 메모리와 GPU 사이를 이동하므로 높은 메모리 대역폭의 이점도 얻을 수 있습니다.
실제적인 배포 계획을 세우려면 설치 전에 다음 네 가지 값을 기록해야 합니다.
- GPU VRAM 및 컴퓨팅 성능
- 전체 시스템 RAM 및 사용 가능한 여유 RAM
- RAM 세대 및 유효 메모리 속도
- 모델의 예상 메모리 사용량
참고 테스트에서는 단일 RTX 3090을 사용했으며 대형 MoE 모델에서 대화형 성능을 확인했습니다. 그러나 보고된 출력 속도는 활성화된 전문가와 런타임 조건에 따라 달라졌습니다. 데스크톱 구성과 서버 측 구성에서도 서로 다른 결과가 나왔으므로 벤치마크 기대치는 유연하게 설정해야 합니다.
| 리소스 | 중요한 이유 | 배포 지침 |
|---|---|---|
| GPU VRAM | 모델 데이터와 활성 작업 메모리를 저장 | VRAM이 많을수록 호스트 메모리 전송을 줄일 수 있음 |
| 시스템 RAM | 오프로딩된 가중치와 더 큰 모델을 지원 | 최소 구성보다 64GB를 더 강력한 목표로 권장 |
| 메모리 대역폭 | CPU–GPU 데이터 이동에 영향 | 더 빠른 RAM은 오프로딩이 많은 작업의 성능을 향상시킬 수 있음 |
| CPU | 오케스트레이션과 호스트 측 실행을 지원 | 운영 체제를 위해 충분한 여유 리소스 확보 |
| 저장 장치 | 애플리케이션과 모델 파일을 저장 | 모델을 자주 전환한다면 빠른 저장 장치 사용 |
테스트 경험을 통해 충분한 호스트 메모리를 함께 사용하면 단일 3090에서도 높은 요구 사항의 MoE 모델을 실행할 수 있음을 확인했습니다. 또한 모델 선택이 중요한 이유도 드러났습니다. 테스트 구성에서는 밀집형 27B BF16 모델이 실행되지 않았으며, 다른 대형 모델은 시스템 RAM과 VRAM을 합쳐 훨씬 더 많은 메모리를 필요로 했습니다.
소형 또는 중형 MoE
단일 GPU에서 더 쉽게 실행할 수 있습니다. 설치 및 엔드포인트 연결을 검증하기에 실용적인 선택입니다.
대형 MoE 모델
호스트 RAM과 전문가 캐싱을 사용해 VRAM의 한계를 확장할 수 있지만, 대역폭과 사용 가능한 메모리가 중요해집니다.
밀집형 BF16 모델
선택적 전문가 활성화를 사용하는 MoE 모델보다 훨씬 더 많은 메모리를 필요로 할 수 있습니다. 다운로드하기 전에 호환성을 확인하세요.
| 모델 프로필 | 메모리 동작 | 배포 중 위험 | 더 나은 첫 조치 |
|---|---|---|---|
| 선택적 전문가를 사용하는 MoE | 생성 중 활성 전문가를 사용 | 프롬프트마다 속도가 달라질 수 있음 | 짧은 테스트 대화로 시작 |
| 대형 오프로딩 MoE | GPU VRAM과 시스템 RAM을 함께 사용 | 사용 가능한 메모리 부족 | 먼저 백그라운드 애플리케이션 종료 |
| 밀집형 27B BF16 | 더 큰 밀집형 모델 메모리 사용량 유지 | 엔진이 종료되거나 시작되지 않을 수 있음 | 로그와 사용 가능한 메모리 확인 |
| 매우 큰 최첨단 모델 | 일반적인 데스크톱 용량을 초과할 수 있음 | 런처에서 RAM 부족을 보고 | 더 많은 메모리를 갖춘 워크스테이션 사용 |
총 설치 RAM만으로 호환성을 판단하지 마세요. FreeToken은 운영 체제, 데스크톱 애플리케이션 및 기타 프로세스를 고려한 후 남은 사용 가능한 RAM과 VRAM을 필요로 합니다.
FreeToken 배포 단계별 가이드
다음 과정은 데스크톱 애플리케이션을 위한 일반적인 배포 경로로 사용할 수 있습니다. 첫 실행은 보수적으로 진행하세요. 사용 가능한 메모리에 맞는 모델을 사용하고, 불필요한 백그라운드 작업을 피하며, 채팅 클라이언트를 열기 전에 API 서버가 준비되었는지 확인해야 합니다.
설치 경로 선택
공식 FreeToken 배포 페이지에서 Windows 또는 Linux 데스크톱 애플리케이션을 다운로드하거나, CLI 경로를 위한 Python 환경을 준비하세요. 데스크톱 앱은 주요 설정 흐름을 하나로 묶고 그래픽 모델 제어 기능을 제공하므로 초기 배포에 더 쉬운 선택입니다.
호스트 시스템 준비
대형 모델을 실행하기 전에 메모리를 많이 사용하는 애플리케이션을 종료하세요. 화면 녹화, 브라우저 탭, 가상 머신 및 GPU 가속 도구는 메모리를 두고 경쟁하거나 사용 가능한 인코더 및 그래픽 리소스에 영향을 줄 수 있습니다. 테스트하려는 모델을 실행하기에 충분한 여유 RAM이 있는지 확인하세요.
FreeToken 설치 또는 실행
CLI 설치의 경우 프로젝트 문서에서는 uv pip install "freetoken[accel]"을 권장 패키지 설치 명령으로 안내합니다. 고급 사용자는 저장소를 복제하고, 가상 환경을 만든 다음, 프로젝트를 편집 가능 모드로 설치할 수 있습니다.
호환되는 모델 선택
모델 영역을 열고 다운로드했거나 지원되는 모델을 선택한 후 메모리 요구 사항을 확인하세요. 처음부터 가장 큰 옵션을 사용하는 대신 여유 공간을 남기는 모델로 시작하세요. 런처에서 RAM 부족을 보고하면 더 작은 모델을 선택하거나 메모리가 더 많은 시스템으로 이동하세요.
엔드포인트 확인
엔진을 시작하고 API 서버가 준비되었다고 보고할 때까지 기다리세요. 그런 다음 내장 채팅 화면이나 Open WebUI와 같은 외부 인터페이스를 연결하세요. 먼저 짧은 프롬프트를 보내 생성 동작을 확인한 후 더 긴 컨텍스트나 최대 사고 설정으로 이동하세요.
| 배포 단계 | 성공 신호 | 실패한 경우 |
|---|---|---|
| 설치 | 애플리케이션이 열리거나 패키지 설치가 완료됨 | 플랫폼 종속성과 설치 로그 검토 |
| 모델 로딩 | 모델이 예상 메모리를 사용하기 시작함 | 모델 지원 여부와 사용 가능한 RAM 확인 |
| API 시작 | API 서버가 준비됨 | 엔진을 다시 시작하고 서버 출력 확인 |
| 채팅 연결 | 프롬프트에 응답이 도착함 | 엔드포인트 주소와 클라이언트 설정 확인 |
| 벤치마크 | 안정적인 생성 측정값 | 더 짧은 프롬프트와 적은 백그라운드 작업으로 반복 |
터미널 워크플로를 선호하는 사용자는 저장소에서 uv 또는 pip를 통한 설치를 지원하며, 개발을 위해 소스 설치도 사용할 수 있습니다. 종속성 변경이 다른 로컬 AI 프로젝트에 영향을 주지 않도록 환경을 격리하세요.
“API 서버가 준비됨”을 배포의 주요 단계로 간주하세요. 해당 메시지가 표시되면 고급 설정을 변경하기 전에 짧은 프롬프트로 엔드포인트를 확인하세요.
성능 튜닝 및 테스트
FreeToken 성능은 하나의 고정된 수치로 표현할 수 없습니다. 생성 속도는 활성 전문가, 모델 아키텍처, 프롬프트 길이, 메모리 배치 및 런타임 구성에 따라 달라집니다. 참고 테스트에서는 한 구성에서 대화형 작업 기준으로 초당 약 10~11토큰이 생성되었으며, 다른 테스트 구성의 데스크톱 환경에서는 초당 약 8.8토큰으로 더 낮은 결과가 나왔습니다. 이러한 수치는 유용한 예시일 뿐 모든 환경에 적용되는 보장은 아닙니다.
반복 가능한 테스트 절차를 사용하세요.
- 동일한 모델을 다시 시작하거나 다시 로드합니다.
- 동일한 짧은 프롬프트를 보냅니다.
- 첫 번째 응답이 완료될 때까지 기다립니다.
- 프롬프트 처리 및 생성 동작을 기록합니다.
- 하드웨어나 인터페이스를 비교하기 전에 테스트를 반복합니다.
| 변수 | 예상되는 영향 | 실제 조정 방법 |
|---|---|---|
| 활성 전문가 | 프롬프트마다 생성 속도가 달라질 수 있음 | 결론을 내리기 전에 여러 프롬프트를 테스트 |
| 시스템 RAM 속도 | 오프로딩 대역폭에 영향 | 가능하다면 더 높은 대역폭의 메모리 사용 |
| 백그라운드 GPU 작업 | 사용 가능한 리소스 감소 | 녹화, 렌더링 또는 관련 없는 GPU 작업 중지 |
| 컨텍스트 길이 | 메모리 및 처리 요구량 증가 | 짧은 대화부터 시작 |
| 사고 모드 | 추가적인 추론 작업을 수행 | 최대 설정 전에 일반 모드 테스트 |
| 클라이언트 인터페이스 | 오버헤드를 추가하거나 다른 지표를 표시할 수 있음 | 동일한 프롬프트와 모델로 비교 |
런타임의 캐싱 동작은 MoE 작업에서 특히 중요합니다. 전문가 캐싱은 반복적인 로딩을 줄일 수 있으며, 의미 인식 캐싱은 지원되는 에이전트 워크플로에서 불필요한 컨텍스트 재계산을 방지하도록 설계되었습니다. 그러나 캐시 동작은 여전히 사용 가능한 메모리와 작업 부하에 따라 달라집니다. 시스템이 데이터를 자주 제거하기 시작하면 생성 속도의 일관성이 떨어질 수 있습니다.
기준선 테스트
하나의 모델, 하나의 프롬프트 및 하나의 클라이언트를 사용하세요. 변경하기 전에 결과를 기록합니다.
메모리 테스트
모델이 로드되고 생성되는 동안 시스템 RAM과 VRAM을 확인하세요.
인터페이스 테스트
동일한 모델 설정을 확인한 후에만 데스크톱과 서버 측 접근을 비교하세요.
안정성 테스트
여러 프롬프트를 실행하여 충돌, 데이터 제거 또는 일관되지 않은 출력 속도를 확인하세요.
프롬프트에 따라 초당 토큰 수는 크게 달라질 수 있습니다. 반복 테스트를 사용하고 모델, 하드웨어, 인터페이스 및 메모리 구성을 함께 기록하세요.
문제 해결 및 배포 체크리스트
실행 실패가 항상 설치 결함을 의미하는 것은 아닙니다. 가장 일반적인 원인은 지원되지 않는 모델 형식, 사용 가능한 메모리 부족, 종속성 문제 또는 다른 애플리케이션과의 리소스 경쟁입니다. 테스트된 워크플로에서 FreeToken은 베타 소프트웨어로 설명되므로 간헐적인 호환성 문제를 해결하려면 재시작, 로그 검토 또는 이슈 보고가 필요할 수 있습니다.
다음 문제 해결 표를 사용해 문제의 범위를 좁혀 보세요.
| 증상 | 예상 원인 | 권장 대응 |
|---|---|---|
| 엔진이 예기치 않게 종료됨 | 모델 호환성 문제 또는 런타임 오류 | 다시 시작하고 다른 모델을 시도한 후 서버 로그 확인 |
| RAM 부족 메시지 | VRAM과 RAM의 합산 용량이 부족함 | 애플리케이션을 종료하거나 더 작은 모델 선택 |
| 생성 속도가 느림 | 호스트 메모리 오프로딩 또는 대역폭 제한 | 작업량을 줄이고 메모리 구성 비교 |
| 채팅 클라이언트가 연결되지 않음 | API 엔드포인트가 준비되지 않았거나 주소가 잘못됨 | 준비 상태를 기다리고 엔드포인트 설정 확인 |
| 프롬프트마다 성능이 달라짐 | 서로 다른 전문가가 활성화됨 | 속도를 평가하기 전에 여러 프롬프트 실행 |
| 데스크톱 실행이 더 느림 | 인터페이스 또는 플랫폼 오버헤드 | 지원되는 다른 경로에서 동일한 모델과 비교 |
실행 전 체크리스트:
- 운영 체제와 설치 경로 확인
- 사용 가능한 GPU VRAM과 시스템 RAM 확인
- 전체 메모리 예산에 맞는 모델 선택
- CPU, RAM 또는 GPU 리소스를 사용하는 백그라운드 애플리케이션 종료
- 채팅 클라이언트를 연결하기 전에 API 서버가 준비되었다고 보고할 때까지 대기
반복 가능한 배포를 위해 각 테스트와 함께 모델 이름, 애플리케이션 버전, 운영 체제, 메모리 구성 및 클라이언트 설정을 저장하세요. 이렇게 하면 모델의 제한과 설치 문제를 구분하기가 쉬워집니다. 한 모델은 반복적으로 실패하지만 다른 모델은 정상적으로 실행된다면, 프로젝트 이슈를 열기 전에 원본 서버 로그를 보존하세요.
가장 안전한 업그레이드 경로는 점진적으로 진행하는 것입니다.
- 지원되고 관리하기 쉬운 모델로 설치를 검증합니다.
- 채팅 및 엔드포인트 기능을 확인합니다.
- 메모리를 많이 사용하는 모델은 한 번에 하나씩 테스트합니다.
- 벤치마크마다 성능 변수는 하나만 변경합니다.
- 비교를 위해 정상적으로 작동하는 모델을 유지합니다.
모델에 문제가 발생했을 때 즉시 전체를 재설치하지 마세요. 먼저 호환성이 확인된 모델을 테스트하고, 사용 가능한 메모리를 확인한 다음, 원본 엔진 로그를 검토하세요.
FreeToken 배포 FAQ
Q: FreeToken 배포는 어떤 용도로 설계되었나요?
FreeToken 배포는 GPU 리소스, CPU 리소스, 시스템 RAM 및 인터커넥트 대역폭을 조정하여 오픈 웨이트 Mixture-of-Experts 모델을 로컬에서 실행합니다. 더 큰 모델을 데스크톱 하드웨어에 가깝게 제공하는 것을 목표로 합니다.
Q: FreeToken을 단일 GPU에서 실행할 수 있나요?
예. 오프로딩에 사용할 수 있는 충분한 시스템 RAM이 있다면 단일 고메모리 GPU에서 지원되는 모델을 실행할 수 있습니다. 실제 결과는 모델 아키텍처, 메모리 대역폭, 활성 전문가 및 백그라운드 시스템 사용량에 따라 달라집니다.
Q: 데스크톱 앱과 CLI 중 무엇을 사용해야 하나요?
가장 간단한 설정, 모델 선택 및 채팅 워크플로를 원한다면 데스크톱 앱을 사용하세요. 격리된 환경, 반복 가능한 명령어, 소스 접근 또는 로그와 종속성에 대한 직접적인 제어가 필요하다면 CLI를 사용하세요.
Q: 어떤 모델은 작동하고 다른 모델은 실패하는 이유는 무엇인가요?
모델마다 메모리 사용량, 형식, 아키텍처 및 호환성 요구 사항이 다릅니다. 밀집형 BF16 모델은 MoE 모델보다 더 많은 메모리를 필요로 할 수 있으며, 베타 런타임 지원으로 인해 특정 엔진이 예기치 않게 종료될 수도 있습니다.
가장 좋은 배포 습관은 FreeToken을 원클릭 성능 프리셋이 아니라 구성 가능한 로컬 추론 엔진으로 다루는 것입니다. 현실적인 모델로 시작하고, 엔드포인트를 확인하며, 반복 가능한 프롬프트로 측정하고, 시스템의 한계를 이해하면서 점진적으로 확장하세요.
신뢰할 수 있는 FreeToken 설정은 모델을 사용 가능한 메모리에 맞추고, API 엔드포인트를 검증하며, 통제된 테스트를 통해 성능을 조정하는 것에서 시작됩니다.