Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung)
85

Sản phẩm

Cognition ra mắt SWE-agent 1.7: Bước tiến mới trong tự động hóa lập trình

(giờ Việt Nam)

Tóm tắt AI

Cognition vừa cập nhật SWE-agent lên phiên bản 1.7, cải thiện đáng kể khả năng giải quyết các vấn đề lập trình phức tạp và tối ưu hóa quy trình làm việc cho kỹ sư phần mềm.

Bản dịch AI

SWE-1.7: Frontier Intelligence at a Fraction of the Cost

Ben Pan*, Carlo Baronio*, Rohan Choudhury, Eric Lu, Ryan Kim, Deniz Birlikci, TC Qin, Sam Lee, Fermi Ma, Allen Liu, Yang Liu, Sampriti Panda, Jacob Teo, Ray Wang, Gary Chang, Steven Cao, Silas Alberti* (đóng góp ngang nhau)

07.08.26

Hôm nay, chúng tôi ra mắt SWE-1.7, mô hình mạnh mẽ nhất mà chúng tôi từng huấn luyện. Nó đạt đến trí tuệ cấp độ tiên phong với chi phí thấp hơn nhiều, giúp thúc đẩy đường cong Pareto về hiệu năng trên chi phí.

SWE-1.7 là kết quả của những cải tiến sâu rộng trên toàn bộ quy trình RL của chúng tôi: cơ sở hạ tầng tốt hơn, quá trình huấn luyện ổn định hơn, dữ liệu chất lượng cao hơn và các kỹ thuật mới cho các tác vụ dài hạn. Vì SWE-1.7 được huấn luyện từ nền tảng Kimi K2.7, vốn đã trải qua quá trình hậu huấn luyện RL chuyên sâu, nên những bước tiến lớn bổ sung từ quá trình huấn luyện của chính chúng tôi đã thách thức quan điểm về "giới hạn hậu huấn luyện" và cho thấy rằng RL có thể đẩy khả năng của mô hình đi xa hơn nhiều so với những gì từng tin tưởng trước đây.

Tại Cognition, chúng tôi đã và đang xây dựng cũng như tinh chỉnh các nguyên tắc cho kỹ thuật phần mềm tác tử (agentic software engineering) tốt, cả trong đánh giá với FrontierCode1,2 và hiện tại là trong huấn luyện với SWE-1.7. Mô hình của chúng tôi được tối ưu hóa đặc biệt cho các tác vụ bất đồng bộ dài hạn, một thành phần quan trọng của kỹ thuật phần mềm chất lượng cao.

SWE-1.7 hiện đã có sẵn trong Devin (Web, Desktop và CLI) thông qua Cerebras với tốc độ 1000 TPS. Chúng tôi khuyến khích bạn hãy tự mình trải nghiệm!

Kết quả benchmark lập trình: Tỷ lệ vượt qua (%) trên các benchmark lập trình tác tử.

Phần còn lại của bài viết này bao gồm cách chúng tôi đã huấn luyện SWE-1.7: cơ sở hạ tầng, thuật toán và công việc dữ liệu đằng sau mô hình của chúng tôi. Chúng tôi sẽ đề cập đến bốn thành phần quan trọng nổi bật.

Bảo toàn entropy và ổn định quá trình huấn luyện: Các đợt chạy RL dài hạn đối mặt với hai vấn đề thách thức: sự sụp đổ entropy và sự mất ổn định do trôi dạt số học (numerical drift) giữa quá trình huấn luyện và suy luận. Chúng tôi đã truy tìm và giải quyết nguyên nhân của từng vấn đề, điều này cho phép quá trình huấn luyện tiếp tục cải thiện vượt xa những điểm mà các đợt chạy trước đó bị đình trệ.

Huấn luyện đa cụm và khả năng chịu lỗi: RL không cần tất cả tài nguyên tính toán suy luận nằm trong một cụm duy nhất. Chúng tôi đã huấn luyện trên các cụm trải dài khắp ba châu lục, truyền các bản cập nhật trọng số thông qua lưu trữ đối tượng (object storage) và xây dựng khả năng chịu lỗi để các sự cố phần cứng không bao giờ làm gián đoạn quá trình chạy.

Tuyển chọn dữ liệu chất lượng cao: Chúng tôi đã xây dựng một quy trình xử lý dữ liệu chất lượng chuyên sâu, chạy từng tác vụ thông qua các bài kiểm tra thực thi tự động, lọc bỏ các tác vụ có tín hiệu học tập thấp và củng cố các tác vụ để ngăn chặn việc "hack phần thưởng" (reward-hacking).

Tự nén cho các tác vụ dài hạn: Mô hình học cách tóm tắt trạng thái làm việc của nó và tiếp tục từ bản tóm tắt đó, mở rộng phạm vi tác vụ vượt ra ngoài cửa sổ ngữ cảnh thô. Chúng tôi sử dụng hình phạt độ dài xen kẽ để khuyến khích đầu ra súc tích mà không làm giảm độ chính xác.

Cuối cùng, chúng tôi kết luận bằng cách chia sẻ một số quan sát về các xu hướng hành vi thú vị, chẳng hạn như sự khám phá cẩn thận và tư duy súc tích, mà mô hình đã đạt được nhờ vào thiết lập huấn luyện của chúng tôi.

Bảo toàn Entropy và Ổn định quá trình Huấn luyện

Chúng tôi nhận thấy sự ổn định trong huấn luyện là yếu tố then chốt đóng góp vào sự cải thiện có thể dự đoán được ở quy mô lớn.

Khi huấn luyện với RL bất đồng bộ3, một trong những vấn đề nan giải nhất mà chúng tôi gặp phải là sự sai lệch phân kỳ KL giữa suy luận và huấn luyện4, vì chính sách của bộ huấn luyện thường khác với chính sách lấy mẫu. Trước đây, để khắc phục điều này (dù ở quy mô nhỏ hơn), chúng tôi đã sử dụng lấy mẫu quan trọng (importance-sampling)5 và huấn luyện nhận biết lượng tử hóa (quantization-aware training) cho các lần chạy thử độ chính xác thấp trong NVFP4 + định tuyến chuyên gia (experts routing) replay6,7.

Tại đây, chúng tôi trình bày các can thiệp bổ sung trở nên quan trọng hơn ở quy mô lớn hơn.

Chúng tôi nhận thấy rằng lấy mẫu top-p8 góp phần đáng kể vào việc ngăn chặn sự sụp đổ entropy9,10, nơi một mô hình mạnh ngừng khám phá và phần thưởng đi ngang trong vòng vài trăm bước.

Các token có xác suất rất thấp thường là một phần của các quỹ đạo đã đi chệch hướng hoặc nằm ngoài phân phối. Những quỹ đạo này có khả năng tạo ra phần thưởng thấp, và các đặc tính của hàm softmax dẫn đến việc các token này làm sắc nét phân phối xác suất token. Thật vậy, giả sử chúng ta có ba token với logit x1>x2≫x3 và xác suất pi=exiex1+ex2+ex3, trong đó token 3 là token xác suất thấp dẫn đến phần thưởng thấp. Nếu chúng ta lấy mẫu token 3, gradient của logprob của nó đối với các logit x1, x2, x3 là:

∇log⁡p3=∇log⁡[ex3ex1+ex2+ex3]=[−p1−p2p1+p2]

và cập nhật gradient chính sách cho các logit là Δxi∝A^ ∇log⁡p3, trong đó A^ là lợi thế (advantage) của token được lấy mẫu. Vì quỹ đạo này đạt được phần thưởng thấp, A^ < 0 và các cập nhật là:

Δx1∝∣A^∣ p1,Δx2∝∣A^∣ p2,Δx3∝−∣A^∣ (p1+p2).

Trong các cập nhật này, x3 bị phạt, và x1 tăng trưởng nhiều hơn x2. Do đó, việc lấy mẫu x3 làm nới rộng khoảng cách dẫn đầu của token vốn đã chiếm ưu thế, làm sắc nét phân phối và giảm entropy. Lấy mẫu top-p ngay từ đầu đã ngăn chặn các token xác suất thấp này được lấy mẫu và sử dụng làm mục tiêu tối ưu hóa!

Hiệu ứng bảo toàn entropy này làm cho việc lấy mẫu top-p trở nên đáng giá trong các lần chạy thử của chúng tôi. Tuy nhiên, việc triển khai top-p một cách ngây thơ rõ ràng làm tăng sự sai lệch giữa huấn luyện và suy luận — bộ huấn luyện tính toán xác suất như một lựa chọn từ tất cả các token, trong khi các lần chạy thử lấy mẫu từ tập con top-p, vì vậy các phân phối có sự phân kỳ cao hơn, dẫn đến sụp đổ sau một số bước nhỏ. Do đó, chúng tôi triển khai lấy mẫu phân phối replay11, nơi chúng tôi ghi lại một tập hợp các token khả dụng để lấy mẫu tại thời điểm chạy thử và chuẩn hóa lại xác suất với các mặt nạ đó trong bộ huấn luyện. Với bản sửa lỗi này, entropy của quá trình chạy của chúng tôi duy trì gần như không đổi trong suốt quá trình huấn luyện và sự phân kỳ giữa suy luận-huấn luyện vẫn nằm trong giới hạn.

Một kết quả thú vị khác của việc sử dụng replay lấy mẫu top-p là chỉ nhắm mục tiêu vào các token có p < top_p_threshold. Các token có xác suất trên ngưỡng có tập hợp giữ lại (keepset) kích thước 1, vì vậy phân phối xác suất đã chuẩn hóa lại của chúng là hằng số 1 và các gradient bị triệt tiêu. Chúng tôi nhận thấy theo thực nghiệm rằng một phần lớn các token được mô hình lấy mẫu nằm trên các ngưỡng top-p tiêu chuẩn, vì vậy chúng bị loại khỏi quá trình tính toán gradient tổng thể. Điều này làm giảm nhiễu gradient và cho phép thuật toán tối ưu hóa tập trung vào các token có tín hiệu học tập cao trong quỹ đạo.

Chúng tôi cũng nhận thấy những lợi ích từ việc sử dụng bộ tối ưu hóa Muon12 và loại bỏ các hoạt động không xác định (non-deterministic) trong bộ huấn luyện.

Huấn luyện Đa cụm

Cognition là một phòng thí nghiệm nghiên cứu đang phát triển nhanh chóng, gia nhập một bối cảnh đã được thiết lập vốn bị hạn chế nặng nề về tài nguyên tính toán. Chúng tôi đặt mục tiêu huấn luyện các mô hình có hàng nghìn tỷ tham số, nhưng ngày nay, các cụm lớn với 10-100 nghìn chip trên một cấu trúc mạng duy nhất là nguồn tài nguyên khan hiếm. Ngược lại, các cụm nhỏ hơn trên khắp thế giới lại rất dồi dào nếu được sử dụng cùng nhau một cách chính xác.

Trong bối cảnh này, cấu trúc của RL hoạt động có lợi cho chúng tôi. RL phân tách một cách tự nhiên trên nhiều cụm. Chỉ bộ huấn luyện (trainer) mới cần nằm trên một cụm băng thông cao duy nhất. Các công cụ suy luận tạo ra các lần chạy thử là các thực thể độc lập. Chúng có thể chạy ở bất cứ đâu và không cần gì ngoài các trọng số hiện tại.

Chúng tôi đã đầu tư vào cơ sở hạ tầng tận dụng đặc tính này. Quá trình huấn luyện RL của chúng tôi trải dài trên bốn trung tâm dữ liệu tại ba châu lục, kết hợp các GPU của chính chúng tôi trên nhiều cụm với tài nguyên tính toán bổ sung từ các nhà cung cấp suy luận như Fireworks. Kết quả là chúng tôi có thể mở rộng quy mô huấn luyện RL vượt xa những gì bất kỳ cụm đơn lẻ nào cho phép.

CỤM HUẤN LUYỆN · MỸ | CỤM CHẠY THỬ · 3 CHÂU LỤC | Bộ đệm dữ liệu | TRẠNG THÁI | prompt vào · dữ liệu được chấm điểm ra | Trình quản lý chạy thử | ĐIỀU KHIỂN | tạo chạy thử tùy chỉnh | gửi prompt khởi tạo | nhận dữ liệu được chấm điểm | yêu cầu tạo | gửi dữ liệu huấn luyện | Bộ huấn luyện | TỐI ƯU HÓA | GPU GPU GPU GPU | ghi Δ trọng số | XOR diff + zstd | Lưu trữ đám mây | ĐỒNG BỘ | kéo Δ, áp dụng tại chỗ | Bộ định tuyến Dynamo | Suy luận | PHỤC VỤ | GPU GPU | Suy luận | PHỤC VỤ | GPU GPU

Thách thức trung tâm trong thiết lập này là giữ cho tất cả các công cụ suy luận luôn cập nhật với các trọng số của bộ huấn luyện sau mỗi bước tối ưu hóa. Chúng tôi muốn các bản cập nhật trọng số này diễn ra nhanh chóng để giảm độ cũ (staleness) của các quỹ đạo, nhờ đó chúng tôi có thể huấn luyện với tốc độ học tập (learning rate) mạnh mẽ hơn.

Việc phát sóng ngây thơ toàn bộ mô hình từ cụm này sang cụm khác sẽ chậm và kém hiệu quả. Thay vào đó, cứ mỗi K bước gradient, chúng tôi tính toán và gửi một delta trọng số nén giữa trọng số hiện tại và trước đó, giảm kích thước của mỗi lần truyền đi hơn 99%13.

Thay vì truyền trực tiếp trọng số từ bộ huấn luyện đến mọi cụm suy luận, chúng tôi sử dụng lưu trữ đối tượng đám mây để duy trì một nguồn sự thật duy nhất cho các phiên bản trọng số. Sau khi bộ huấn luyện tải lên một delta trọng số mới, các công cụ suy luận có thể được cập nhật mà gần như không có thời gian chết. Mỗi đợt huấn luyện có một bộ điều khiển trọng số trong mỗi cụm liên quan để quản lý vòng đời phiên bản trọng số của đợt chạy. Bộ điều khiển trọng số thăm dò lưu trữ đối tượng để tìm các bản kê khai mới, thứ mà bộ huấn luyện ghi lại sau mỗi lần cập nhật. Khi tìm thấy một delta mới, nó hướng dẫn các worker tải xuống các phân đoạn của chúng, sau đó được sao chép qua các đĩa cục bộ bằng cách sử dụng phát sóng dạng cây (tree broadcast). Lưu trữ đối tượng tương tự cũng mang các ma trận định tuyến và mặt nạ top-p từ các công cụ suy luận trở lại bộ huấn luyện.

Mỗi công cụ suy luận tải trước delta vào bộ nhớ CPU trong khi vẫn tiếp tục phục vụ các quỹ đạo. Chỉ khi delta được dàn dựng đầy đủ, công cụ mới tạm dừng trong thời gian ngắn để áp dụng nó tại chỗ. Các quỹ đạo đang thực hiện có thể tiếp tục với các trọng số mới mà bộ nhớ đệm KV vẫn còn nguyên vẹn.

Với cách tiếp cận này, các bản cập nhật trọng số xuyên lục địa cho một mô hình 1 nghìn tỷ tham số hoàn tất trong 1–2 phút từ đầu đến cuối. Quá trình này diễn ra bất đồng bộ và không chặn việc huấn luyện hay suy luận, ngoại trừ 3–4 giây tạm dừng suy luận khi cập nhật.

Khả năng chịu lỗi

Ở quy mô lớn, các sự cố phần cứng xảy ra liên tục và việc khởi động lại toàn cầu mỗi khi có sự cố sẽ khiến các đợt chạy dài hạn trở nên bất khả thi. Kiến trúc của chúng tôi xử lý vấn đề này khác nhau tùy thuộc vào nơi xảy ra sự cố — công cụ suy luận hoặc bộ huấn luyện.

Các sự cố ở phía suy luận có chi phí thấp theo thiết kế. Các công cụ là thực thể độc lập và không giữ trạng thái nào ngoài các trọng số hiện tại, vì vậy một công cụ bị hỏng chỉ gây mất mát các phiên đang thực hiện. Chúng tôi sử dụng NVIDIA Dynamo để quản lý vòng đời công cụ và định tuyến suy luận: mỗi sandbox tác tử có proxy riêng ghi lại các token vào và ra, vì vậy nếu một bản sao bị hỏng, chúng tôi không mất toàn bộ quỹ đạo và Dynamo sẽ định tuyến lại nó đến một worker khác. Khi Dynamo lên lịch lại bản sao trên các nút khỏe mạnh, bộ điều khiển trọng số của chúng tôi sẽ tải checkpoint gần nhất từ lưu trữ đối tượng và phát lại một loạt các delta từ phiên bản đã checkpoint.

CognitionSWE-agentLập trình AITự động hóaCông cụ lập trình
Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.