Chia sẻ

Ngày 7 tháng 11 năm 2024

Tăng cường hiệu suất của Trợ lý lập trình AI bằng ngữ cảnh dài của các mô hình Gemini

Beyang Liu

Sourcegraph

Paige Bailey

Kỹ sư trải nghiệm cho nhà phát triển AI

Vishal Dharmadhikari

Kỹ sư giải pháp sản phẩm

Hình ảnh chính minh hoạ Sourcegraph

Một trong những lĩnh vực thú vị nhất trong việc áp dụng các cửa sổ ngữ cảnh dài là tạo và hiểu mã. Các cơ sở mã lớn đòi hỏi bạn phải hiểu rõ các mối quan hệ và phần phụ thuộc phức tạp, điều mà các mô hình AI truyền thống khó nắm bắt được. Bằng cách mở rộng lượng mã có cửa sổ bối cảnh lớn, chúng ta có thể đạt được độ chính xác và mức độ hữu ích mới trong việc tạo và hiểu mã.

Chúng tôi đã hợp tác với Sourcegraph (nhà phát triển trợ lý lập trình AI Cody hỗ trợ các LLM như Gemini 1.5 Pro và Flash) để khám phá tiềm năng của các cửa sổ ngữ cảnh dài trong các tình huống lập trình thực tế. Sourcegraph tập trung vào việc tích hợp tính năng tìm kiếm và thông tin chi tiết về mã vào tính năng tạo mã bằng AI, đồng thời triển khai thành công Cody cho các doanh nghiệp có cơ sở mã lớn và phức tạp như Palo Alto Networks và Leidos. Nhờ đó, Sourcegraph trở thành đối tác lý tưởng cho hoạt động khám phá này.

Phương pháp và kết quả của Sourcegraph

Sourcegraph đã so sánh hiệu suất của Cody với cửa sổ ngữ cảnh 1 triệu token (sử dụng Gemini 1.5 Flash của Google) so với phiên bản sản xuất của Cody. Việc so sánh trực tiếp này giúp họ xác định được những lợi ích của bối cảnh mở rộng. Họ tập trung vào việc trả lời các câu hỏi kỹ thuật, một nhiệm vụ quan trọng đối với các nhà phát triển làm việc với các cơ sở mã lớn. Họ đã sử dụng một tập dữ liệu gồm những câu hỏi khó đòi hỏi phải hiểu rõ mã.

Kết quả rất ấn tượng. Ba chỉ số chính của Sourcegraph (Khả năng nhớ lại thông tin thiết yếu, Khả năng diễn đạt ngắn gọn thông tin thiết yếu và Mức độ hữu ích) đã cho thấy sự cải thiện đáng kể khi sử dụng ngữ cảnh dài hơn.



  • Thông tin cần thiết: Tỷ lệ thông tin quan trọng trong câu trả lời đã tăng lên đáng kể.

  • Tính súc tích cần thiết: Tỷ lệ các sự kiện cần thiết được chuẩn hoá theo độ dài của câu trả lời cũng được cải thiện, cho thấy câu trả lời súc tích và phù hợp hơn.

  • Mức độ hữu ích: Điểm hữu ích tổng thể (được chuẩn hoá theo độ dài của câu trả lời) đã tăng đáng kể, cho thấy trải nghiệm thân thiện hơn với người dùng.

Văn bản thay thế cho hình ảnh này: Biểu đồ dạng cột cho thấy sự cải thiện về chất lượng giữa Cơ sở mã và Cody với Gemini 1.5 Flash

Hơn nữa, việc sử dụng các mô hình ngữ cảnh dài đã giảm đáng kể tỷ lệ ảo giác tổng thể (việc tạo ra thông tin không chính xác về thực tế). Tỷ lệ đưa ra thông tin sai lệch giảm từ 18,97% xuống 10,48%, một bước cải thiện đáng kể về độ chính xác và độ tin cậy.

Biểu đồ dạng cột cho thấy sự khác biệt về tỷ lệ ảo giác giữa Cơ sở mã và Cody với Gemini 1.5 Flash

Những điểm đánh đổi và hướng đi trong tương lai

Mặc dù ngữ cảnh dài mang lại nhiều lợi ích đáng kể, nhưng cũng có những điểm hạn chế. Thời gian hiển thị mã thông báo đầu tiên tăng tuyến tính theo độ dài của ngữ cảnh. Để giảm thiểu vấn đề này, Sourcegraph đã triển khai một cơ chế tìm nạp trước và một cấu trúc mô hình ngữ cảnh theo lớp để lưu vào bộ nhớ đệm trạng thái thực thi mô hình. Với các mô hình ngữ cảnh dài Gemini 1.5 Flash và Pro, thời gian để nhận được token đầu tiên đã được tối ưu hoá từ 30 – 40 giây xuống còn khoảng 5 giây cho ngữ cảnh 1 MB – một bước cải thiện đáng kể cho việc tạo mã theo thời gian thực và hỗ trợ kỹ thuật.

Sự hợp tác này cho thấy tiềm năng biến đổi của các mô hình ngữ cảnh dài trong việc cách mạng hoá khả năng hiểu và tạo mã. Chúng tôi rất vui khi được hợp tác với những công ty như Sourcegraph để tiếp tục khám phá thêm nhiều ứng dụng và mô hình sáng tạo với cửa sổ ngữ cảnh lớn.

Để tìm hiểu sâu hơn về các phương pháp đánh giá, điểm chuẩn và phân tích chi tiết của Sourcegraph, bao gồm cả các ví dụ minh hoạ, đừng bỏ lỡ bài đăng chuyên sâu trên blog của họ.