70B 모델에서는 1000개의 토큰을 몇 초 만에 생성할 수 있으며 이는 거의 4000자로 해석됩니다!
연구원들이 Llama3를 미세 조정하고 가속 알고리즘을 도입하여 기본 버전에 비해 속도가 13배 빨라졌습니다.
빠를 뿐만 아니라 코드 재작성 작업 성능도 GPT-4o를 능가합니다.
이 성과는 인기 있는 AI 프로그래밍 아티팩트인 Cursor를 개발한 팀과 OpenAI도 투자에 참여한 anysphere에서 이루어졌습니다.
잘 알려진 빠른 추론 가속 프레임워크인 Groq에서 70B Llama3의 추론 속도는 초당 300개 토큰이 조금 넘는다는 사실을 아셔야 합니다.
Cursor의 속도는 거의 즉각적인 완전한 코드 파일 편집을 달성한다고 말할 수 있습니다.
어떤 분들은 Cursor로 수정한 Llama3를 Groq에 올려놓으면 초당 수만 개의 토큰이 생성될 수 있다고 물어보셨습니다.
대형 모델 분야에서는 "지연"이라는 개념을 없애고 있다고 말하면 더욱 기뻐하는 사람들도 있습니다.
저자가 이번에 설계한 가속 방법은 주로 코드 내용을 빠르게 수정하고 적용하는 "Fast Apply"라는 작업을 해결하는 데 사용됩니다.
가장 먼저 주목해야 할 점은 작업의 최종 효과는 코드의 일부 수정이지만 실제 작업 중에는 변경된 내용이 아니라 직접 전역 재작성으로 출력된다는 점입니다.
이에 대한 이유는 사전 테스트 후 팀이 내린 선택입니다. Claude-3-Opus를 제외한 대부분의 모델이 실제 로컬 수정 작업에서 만족스럽게 수행되지 않은 것으로 나타났습니다.
이에는 세 가지 주요 이유가 있습니다.
(그러나 저자는 이것이 여전히 잠재적인 미래 연구 방향이라고 믿습니다.)
커서 팀은 전역 재작성 솔루션을 결정한 후 작업 관련 데이터를 사용하여 Llama3를 미세 조정했습니다.
사용된 데이터는 실제 편집 데이터와 합성 데이터 두 가지 소스에서 1:4 비율로 혼합되어 있습니다.
합성 데이터는 GPT-4를 사용하여 코드 편집 제안을 생성한 다음 다른 모델을 사용하여 이러한 제안을 원본 코드에 "적용"하는 것을 의미합니다.
데이터 세트의 품질을 향상시키기 위해 저자는 작은 파일, 중복 파일 및 변경되지 않은 샘플도 다운샘플링했습니다.
이 모델의 성능을 평가하기 위해 저자는 450개의 코드 편집 작업(각각 400줄 이하)을 통해 모델을 실행하고 Claude3-Opus를 사용하여 출력을 채점했습니다.
결국 저자가 미세조정한 70B Llama3 모델은 성능면에서 Claude3-Opus-diff와 거의 맞먹었고, GPT-4-Turbo나 GPT-4o보다 나았습니다.
지금까지의 미세 조정으로 성능 문제는 해결되었지만, 현재로서는 Llama3가 여전히 매우 느리고 초당 300자 미만만 출력할 수 있다는 것을 어렵지 않게 볼 수 있습니다(참고 단어나 토큰이 아닌 문자).
그리고 재작성 작업을 그렇게 빠르게 만드는 것은 또 다른 비밀 무기입니다.
코드 재작성 작업을 위해 Cursor 팀에서는 예측 편집(추측 편집)이라는 알고리즘을 특별히 도입했습니다.
이 방법은 선험적 알고리즘을 사용하여 여러 개의 후속 토큰을 예측한 다음 검증을 위해 대규모 온톨로지 모델을 사용하므로 대규모 모델에 대한 호출 횟수가 줄어들어 계산량이 줄어듭니다.
이 선험적 알고리즘은 코딩 작업의 특징에서 비롯된 것입니다. 다른 텍스트에 비해 어휘가 적고 문법 구조, 들여쓰기 규칙 등이 더 확실하기 때문에 선험적 지식을 사용하면 미래 토큰을 더 정확하게 예측할 수 있습니다.
이 접근 방식은 GPT-4 및 Meta와도 공통점이 있습니다.
기존 언어 모델 추론이 느린 이유는 주로 다음 토큰을 예측하는 프로세스가 일반적으로 자동 회귀 방식이기 때문입니다. 토큰의 경우 이전에 생성된 모든 토큰이 고려됩니다.
계산량을 줄이기 위해 GPT-4로 대표되는 대형 모델은 예측 복호(추측 복호)라는 가속 알고리즘을 사용하여 작은 근사 모델을 통해 미리 예측한 후 온톨로지 대형 모델을 사용하도록 합니다. 예측 결과를 확인합니다.
Cursor와 GPT-4의 차이점은 전자의 작은 "모델"이 더 결정적인 알고리즘인 반면, 후자는 모델의 크기만 줄이며 여전히 본질적으로 확률론적인 예측이라는 것입니다.
Meta는 n개의 독립적인 출력 헤드를 사용하여 n개의 미래 토큰을 병렬로 예측하는 알고리즘을 한 번에 도입했습니다. 프로그래밍 작업에서 특히 잘 작동하는 것으로 나타났습니다. 언어는 더 엄격하고 지식의 내부 연결은 더 가깝습니다.
물론 Cursor는 Attention Head를 사용하는 대신 이 기능을 최대한 활용하여 보다 구체적인 알고리즘을 직접 사용하여 멀티 토큰 예측을 수행합니다.
최종 결과는 예측 알고리즘이 평가 성능 손실 없이 70B Llama3에 거의 13배에 가까운 속도 증가를 가져온다는 것입니다.
또한 저자는 기업용 AI 모델 인프라 플랫폼인 Fireworks.ai와 협력하여 최적화된 추론 엔진과 맞춤형 하드웨어 환경을 활용하여 모델의 운영 효율성을 더욱 향상시켰습니다.
앞으로 팀에서는 지식 증류를 수행하고 예측 편집 알고리즘을 더 작은 8B Llama3으로 마이그레이션하고 더 많은 프로그래밍 언어와 작업으로 확장할 계획입니다.
동시에 저자는 Cursor 팀이 연구했지만 채택하지 못한 실제 부분 수정(Diff) 알고리즘도 개선할 계획입니다.
실험에서 저자는 예측 알고리즘을 사용하여 Llama3을 가속했을 뿐만 아니라 GPT4-Turbo도 가속했습니다.
그러나 저자는 GPT에서 구현 방법을 소개하지 않고 몇 가지 사고 질문을 남기고 '상금 추측'까지 진행했습니다.
정답을 맞추신 분은 1개월 Cursor 멤버십을 받게 되며, vllm과 TensorRT-LLM에서 예측 가속을 달성할 수 있다면 각각 6개월 멤버십과 1년 멤버십을 받게 됩니다.
아이디어가 있다고 생각되면 도전(수동 개 머리)에 도전해 보는 것도 좋습니다.
위 내용은 70B 모델은 몇 초 안에 1,000개의 토큰을 생성하고 코드 재작성은 OpenAI가 투자한 코드 아티팩트인 Cursor 팀의 GPT-4o를 능가합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!