단일 GPU에서 듀얼 GPU로 전환하는 것은 좋지만, 제가 예상했던 방식은 아닙니다
요약
VRAM 확장을 통해 모델의 양자화 수준을 높이기보다, 여러 개의 에이전트를 병렬로 운용하는 '분할 정복' 방식의 효율성을 강조합니다. 메인 오케스트레이터와 서브 에이전트 구조를 통해 처리량을 높이고 작업 효율을 극대화하는 전략을 제안합니다.
핵심 포인트
- VRAM 증설 시 모델 품질 향상보다 에이전트 병렬 운용에 더 큰 이점
- 메인 오케스트레이터와 서브 에이전트 간의 분할 정복 전략 활용
- 병렬 에이전트 운용을 통한 전체적인 작업 처리량(Throughput) 개선
- 거대 모델 하나에 의존하기보다 작은 모델들의 협업 구조 구축
VRAM을 24GB에서 2x24GB로 두 배로 늘리면, 더 높은 양자화 (Quantization) 수준과 더 많은 컨텍스트 (Context)를 사용하여 더 똑똑한 LLM을 얻을 수 있을 것이라 기대했지만, 결과는 그렇지 않았습니다.
적어도 코딩에 있어서는, 예를 들어 qwen 27B UD-Q4-XL에서 Q6 또는 Q8로 전환했을 때의 품질 차이는 상당히 작다는 것을 발견했습니다.
대신, 적어도 코딩 측면에서 제가 추가된 성능을 활용하는 방식은 병렬성 (Parallelism)입니다.
더 똑똑한 LLM을 얻는 대신, 저는 qwen 27B를 많은 컨텍스트를 가진 오케스트레이터 (Orchestrator)로 사용하고 있습니다. 작업을 더 작고 좁은 하위 작업으로 나눈 뒤 이를 서브 에이전트 (Subagents)에게 전달하는 방식입니다. 이 서브 에이전트들은 종종 qwen 35B-A3B를 사용하는데, 작업이 좁고 명확하게 정의되어 있을 때는 충분히 훌륭하며, 이 서브 에이전트들은 보통 115k 컨텍스트 제한 내에서 작업을 수행하고 메인 에이전트에게 보고한 뒤 종료될 수 있어, 저는 이들을 2개까지 운용할 수 있습니다.
그 결과, 이전에는 단 하나의 에이전트만 가질 수 있었던 반면 이제는 3개의 에이전트를 병렬로 가질 수 있기 때문에 전체적인 처리량 (Throughput)이 훨씬 높아졌습니다. 탐색이나 웹 리서치와 같이 덜 중요한 작업을 실행하기 위해 더 빠른 모델을 로드하려고 기존 모델을 언로드 (Unload)할 필요가 없으며, 대부분의 경우 이 에이전트들은 압축 (Compact)할 필요 없이 작업을 수행합니다.
메인 에이전트는 결국 압축을 수행하지만, 그 빈도가 훨씬 줄어들었습니다. 서브 에이전트들은 거의 압축을 하지 않습니다.
VRAM이 32GB를 초과하는 사람들이 이에 대해 이야기하는 것을 많이 보지 못했습니다. 대부분의 사람들은 필요하다면 시스템 RAM을 공유하면서 100B 이상의 모델을 실행하는 데 집착하는 것 같지만, 저는 모든 것을 한 번에 해결(one-shot)하려고 부적절한 속도로 거대 모델 (Behemoth models)을 실행하려 애쓰는 것보다, 분할 정복 (Divide and conquer)을 통해 서로의 작업을 검토하는 작은 모델들을 사용하는 것에서 실제로 더 많은 가치를 얻고 있습니다.
가끔 저는 진정한 SOTA 폐쇄형 모델 (Closed model)에게 전체 프로젝트를 검토하고 개선 사항 목록을 작성하도록 요청하는데, 이는 마치 누군가가 짧은 기간 동안 전문가 컨설턴트를 고용하는 것과 비슷합니다.
하지만 대부분의 작업은 이제 더 이상 그것을 필요로 하지 않습니다.
submitted by /u/cibernox to r/LocalLLaMA
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기