조사

Composer 2.5 소개

읽는 데 6분

이제 Cursor에서 Composer 2.5를 사용할 수 있습니다.

Composer 2와 비교해 지능과 동작 방식이 크게 향상되었습니다. 장시간 실행되는 작업을 꾸준히 수행하는 능력이 더 뛰어나고, 복잡한 지시를 더 안정적으로 따르며, 협업하기도 한층 수월해졌습니다.

Composer 2.5 benchmark 결과Composer 2.5 benchmark 결과

학습 규모를 확장하고, 더 복잡한 RL 환경을 생성하며, 새로운 학습 방법을 도입해 Composer를 개선했습니다.

더 어려운 작업으로 Composer 2.5를 학습시킨 것에 더해, communication 스타일과 추론 수준 조정 같은 모델의 behavioral 측면도 개선했습니다. 이런 요소들은 기존 benchmark로는 잘 포착되지 않지만, 실제 사용성에는 중요하다고 보고 있습니다.

Composer 2.5 추론 수준 곡선Composer 2.5 추론 수준 곡선

Composer 2.5는 Composer 2와 동일한 오픈소스 checkpoint인 Moonshot's Kimi K2.5를 기반으로 합니다.

Composer 2.5 학습Composer 2.5 학습

SpaceXAI와 함께, 총 compute를 10배 더 투입해 훨씬 더 큰 모델을 처음부터 학습시키고 있습니다. Colossus 2의 H100 100만 개 상당 규모와 양측의 데이터 및 학습 기법을 바탕으로, 이는 모델 capability의 큰 도약이 될 것으로 기대합니다.

Composer 2.5 학습

Composer 2.5에는 학습 스택 전반에 걸친 몇 가지 새로운 개선 사항이 반영되었습니다. 이러한 변경 사항은 모델 지능과 사용성을 모두 개선하는 데 초점을 맞췄습니다.

텍스트 피드백을 활용한 표적형 RL

RL에서의 크레딧 할당은 롤아웃이 수십만 토큰에 걸칠 수 있어 점점 더 어려운 과제가 되고 있습니다. 보상이 전체 롤아웃을 기준으로 계산되면, 어떤 구체적인 결정이 결과를 좋게 만들었는지 혹은 나쁘게 만들었는지 모델이 파악하기 어려울 수 있습니다. 이는 잘못된 tool call, 혼란스러운 설명, 스타일 위반처럼 특정 지점의 behavior를 억제하고 싶을 때 특히 큰 제약이 됩니다. 최종 보상은 무언가 잘못되었다는 점은 알려주지만, 정확히 어디서 잘못되었는지 알려주는 데에는 노이즈가 많은 signal입니다.

이를 해결하기 위해 저희는 표적형 텍스트 피드백으로 Composer 2.5를 학습했습니다.1 핵심 아이디어는 모델이 더 잘 행동할 수 있었던 trajectory 상의 지점에 직접 피드백을 제공하는 것입니다. 특정 모델 메시지에 대해 원하는 개선 사항을 설명하는 짧은 힌트를 만들고, 그 힌트를 해당 지점의 로컬 context에 삽입한 뒤, 그 결과로 얻어진 model distribution을 teacher로 사용합니다. 원래 context를 사용하는 policy는 student로 두고, student의 token probabilities를 teacher 쪽으로 이동시키는 on-policy distillation KL loss를 추가합니다. 이렇게 하면 전체 trajectory에 대한 더 큰 RL objective는 유지하면서도, 우리가 바꾸고 싶은 behavior에 대해 국소적인 training signal을 줄 수 있습니다.

텍스트 피드백 과정의 예로, 모델이 사용할 수 없는 도구를 호출하려다 tool call error가 발생하는 긴 롤아웃을 생각해 보겠습니다. 롤아웃 중 모델은 “Tool not found” 오류를 받은 뒤에도 추가로 유효한 tool calls를 계속 수행합니다. 수백 번의 tool calls 과정에서 한 번 오류가 발생한 사실은 최종 reward에 미치는 효과가 매우 작습니다.

텍스트 피드백을 사용하면, 사용 가능한 도구 목록과 함께 “Reminder: Available tools…” 같은 힌트를 문제가 있는 turn의 context에 삽입해 이 구체적인 실수를 겨냥할 수 있습니다. 이 힌트는 teacher의 probabilities를 바꿔 잘못된 도구의 확률은 낮추고, 유효한 대체 도구의 확률은 높입니다. 그리고 그 turn에 대해서만 student weights를 새로운 probabilities 쪽으로 업데이트합니다.

Composer 2.5 실행 동안 저희는 coding style부터 모델 communication까지 다양한 model behaviors에 이 방법을 적용했습니다.

Composer 2.5 텍스트 피드백Composer 2.5 텍스트 피드백

합성 데이터

RL 학습이 진행되면서 Composer의 코딩 능력은 크게 향상되어, 학습 과제 대부분을 올바르게 해결할 수 있게 됩니다. 지능을 계속 높이기 위해, 저희는 학습 과정 전반에 걸쳐 더 어려운 과제를 동적으로 선별하고 생성합니다. Composer 2.5는 Composer 2보다 25배 더 많은 합성 과제로 학습되었습니다.

저희는 실제 codebase에 기반한 합성 과제를 만들기 위해 다양한 접근 방식을 사용합니다. 예를 들어, 한 가지 합성 접근 방식은 기능 삭제입니다. 이런 과제에서는 에이전트에게 대규모 테스트 세트가 포함된 codebase가 주어지고, codebase는 계속 정상적으로 동작하면서도 특정한 테스트 가능한 기능은 제거되도록 코드와 파일을 삭제하라는 요청을 받습니다. 합성 과제는 해당 기능을 다시 구현하는 것이며, 테스트는 검증 가능한 보상으로 사용됩니다.

대규모로 합성 과제를 생성하면 예상치 못한 보상 해킹이 발생할 수 있다는 후속 효과도 있습니다. 모델이 더 능숙해지면서, Composer 2.5는 당면한 과제를 해결하기 위해 점점 더 정교한 우회 방법을 찾아내기 시작했습니다. 한 사례에서는 모델이 남아 있던 Python 타입 검사 캐시를 발견한 뒤, 삭제된 함수 시그니처를 찾아내기 위해 그 형식을 리버스 엔지니어링했습니다. 또 다른 사례에서는 Java 바이트코드를 찾아 디컴파일해 타사 API를 재구성할 수 있었습니다. 저희는 agentic monitoring tools를 사용해 이러한 과제를 찾아내고 진단할 수 있었지만, 이는 대규모 RL에서 점점 더 세심한 주의가 필요하다는 점을 보여줍니다.

Composer 2.5 합성 데이터Composer 2.5 합성 데이터

샤딩된 Muon과 이중 메시 HSDP

후속 사전학습에는 분산 직교화를 적용한 Muon을 사용합니다. 모멘텀 업데이트를 만든 뒤에는 모델의 자연스러운 단위에 맞춰 Newton-Schulz를 실행합니다. 즉, 어텐션 프로젝션은 어텐션 헤드별로, stacked MoE 가중치는 expert별로 처리합니다.

주요 비용은 expert 가중치를 직교화하는 데 있습니다. 샤딩된 파라미터의 경우, 같은 형태의 텐서들을 배치로 묶고, all-to-all로 샤드를 완전한 행렬로 모은 다음 Newton-Schulz를 실행한 뒤, 결과를 다시 all-to-all로 원래의 샤딩 레이아웃으로 돌려보냅니다. 이러한 전송은 비동기적으로 이루어집니다. 한 task가 communication을 기다리는 동안 옵티마이저 runtime은 다른 Muon task를 진행해 네트워크와 연산을 겹쳐 처리합니다. 이는 전체 행렬 Muon과 동일하지만 샤드 그룹을 계속 바쁘게 유지합니다. 1T model에서는 옵티마이저 step 시간이 0.2초입니다.

이 방식은 MoE model에 HSDP를 사용하는 방식과도 밀접하게 맞물립니다. HSDP는 여러 FSDP 복제본을 만들고, 대응하는 샤드끼리 그래디언트를 all-reduce합니다. 저희는 non-expert 가중치와 expert 가중치에 각각 별도의 HSDP 레이아웃을 사용합니다. non-expert 가중치는 비교적 작기 때문에 FSDP 그룹을 좁게, 흔히 단일 노드나 랙 내부에 유지할 수 있습니다. 반면 expert 가중치는 대부분의 파라미터와 대부분의 Muon 연산을 차지하므로 더 넓은 expert 샤딩 메시를 사용합니다.

이처럼 레이아웃을 분리하면 서로 독립적인 parallelism 차원도 겹쳐 활용할 수 있습니다. 예를 들어 CP=2와 EP=8은 단일 공유 메시에서 16개의 GPU를 요구하는 대신 8개의 GPU에서 실행할 수 있습니다. 이렇게 하면 작은 non-expert 상태에 대해 넓은 communication을 피하면서, expert 옵티마이저 작업은 많은 GPU에 분산할 수 있습니다.

Composer 2.5 사용해 보기

Composer 2.5의 가격은 입력 토큰 2.50/M입니다.

동일한 성능을 제공하는 더 빠른 버전도 있으며, 가격은 입력 토큰 15.00/M으로 다른 프런티어 모델의 fast tier보다 저렴합니다. Composer 2와 마찬가지로 fast가 기본 옵션입니다. 자세한 정보는 모델 문서에서 확인하세요.

Composer 2.5는 첫 주 동안 사용량이 두 배로 제공됩니다.

분류: 조사

작성자: Cursor Team