Tôi của ngày hôm qua: LLM nguồn mở sẽ đánh bại GPT-4 sau vài tháng nữa về khả năng tạo mã. Tôi bây giờ: Thực ra là hôm nay.
Hôm qua, mã nguồn mở Meta Llama, một mô hình cơ bản chuyên tạo mã, đã miễn phí cho mục đích nghiên cứu và thương mại.
Có ba phiên bản tham số của dòng model Code Llama, số lượng tham số là 7B, 13B và 34B. Và nó hỗ trợ nhiều ngôn ngữ lập trình, bao gồm Python, C++, Java, PHP, Type (Java), C# và Bash.
Các phiên bản Code Llama do Meta cung cấp bao gồm:
Mã Llama, mô hình mã cơ bản;
Code Llama-Python, một phiên bản tinh chỉnh của Python;
Code Llama-Instruct, một phiên bản tinh chỉnh của hướng dẫn ngôn ngữ tự nhiên.
Về tác dụng của nó, các phiên bản khác nhau của Code Llama có tỷ lệ vượt qua thế hệ (pass@1) trên bộ dữ liệu Human và MBPP vượt qua GPT-3.5.
Ngoài ra, pass@1 của phiên bản 34B "Không tự nhiên" của Code Llama trên tập dữ liệu Con người gần bằng GPT-4 (62,2% so với 67,0%). Tuy nhiên, Meta đã không phát hành phiên bản này nhưng đã đạt được những cải tiến hiệu suất đáng kể thông qua việc đào tạo với một lượng nhỏ dữ liệu được mã hóa chất lượng cao.
Nguồn:
Chỉ sau một ngày, một số nhà nghiên cứu đã thách thức GPT-4. Họ đến từ Phind (một tổ chức nhằm mục đích xây dựng công cụ tìm kiếm AI dành cho nhà phát triển), tổ chức này đã đánh bại GPT-4** trong đánh giá của con người bằng **Mã Llama-34B được tinh chỉnh.
Người đồng sáng lập Phind, Michael Royzen cho biết: "Đây chỉ là một thử nghiệm ban đầu nhằm mục đích tái tạo (và vượt qua) kết quả" Mã không tự nhiên Llama "trong bài báo Meta. Trong tương lai, chúng tôi sẽ có danh mục chuyên gia gồm các mô hình CodeLlama khác nhau mà tôi nghĩ sẽ có tính cạnh tranh trong quy trình làm việc trong thế giới thực. "
Cả hai mô hình đều có nguồn mở:
Các nhà nghiên cứu đã công bố hai mô hình này trên Huggingface và mọi người có thể vào xem thử.
Phind-CodeLlama-34B-v1:
Phind-CodeLlama-34B-Python-v1:
Tiếp theo, hãy xem nghiên cứu này được thực hiện như thế nào.
** Tinh chỉnh Code Llama-34B để đánh bại GPT-4**
Chúng ta hãy nhìn vào kết quả đầu tiên. Nghiên cứu này đã tinh chỉnh Code Llama-34B và Code Llama-34B-Python với bộ dữ liệu nội bộ của Phind và thu được hai mô hình lần lượt là Phind-CodeLlama-34B-v1 và Phind-CodeLlama-34B-Python-v1.
Hai mô hình mới thu được lần lượt đạt 67,6% và 69,5% pass@1 trên Human.
Để so sánh, CodeLlama-34B pass@1 là 48,8%; CodeLlama-34B-Python pass@1 là 53,7%.
Và GPT-4 pass@1 trên Human là 67% (dữ liệu do OpenAI công bố trong "Báo cáo kỹ thuật GPT-4" phát hành vào tháng 3 năm nay).
Nguồn:
Nguồn:
Khi nói đến việc tinh chỉnh, các tập dữ liệu là điều bắt buộc và nghiên cứu này đã tinh chỉnh Code Llama-34B và Code Llama-34B-Python trên một tập dữ liệu độc quyền chứa ~80.000 vấn đề và giải pháp lập trình chất lượng cao.
Thay vì các ví dụ hoàn thành mã, tập dữ liệu này sử dụng các cặp lệnh-câu trả lời, khác với cấu trúc dữ liệu Con người. Sau đó, nghiên cứu đã huấn luyện mô hình Phind cho hai kỷ nguyên, với tổng số khoảng 160.000 mẫu. Các nhà nghiên cứu cho biết công nghệ LoRA không được sử dụng trong quá trình đào tạo mà sử dụng tính năng tinh chỉnh cục bộ.
Ngoài ra, nghiên cứu còn áp dụng công nghệ DeepSpeed ZeRO 3 và Flash Chú ý 2. Họ đã dành ba giờ trên 32 GPU A100-80GB để đào tạo các mô hình này với độ dài chuỗi là 4096 mã thông báo.
Ngoài ra, nghiên cứu còn áp dụng phương pháp khử nhiễm của OpenAI vào tập dữ liệu để kết quả mô hình hiệu quả hơn.
Như chúng ta đã biết, ngay cả GPT-4 rất mạnh cũng sẽ phải đối mặt với tình thế tiến thoái lưỡng nan về ô nhiễm dữ liệu.Theo cách nói thông thường, mô hình được đào tạo có thể đã được đào tạo về dữ liệu đánh giá.
Vấn đề này rất khó đối với LLM, ví dụ, trong quá trình đánh giá hiệu suất của một mô hình, để đưa ra đánh giá đáng tin cậy về mặt khoa học, nhà nghiên cứu phải kiểm tra xem vấn đề được sử dụng để đánh giá có nằm trong dữ liệu huấn luyện của mô hình hay không. Nếu vậy, mô hình có thể ghi nhớ những câu hỏi này và khi đánh giá mô hình, rõ ràng nó sẽ hoạt động tốt hơn đối với những câu hỏi cụ thể này.
Giống như một người đã biết trước đề thi trước khi làm bài thi.
Để giải quyết vấn đề này, OpenAI đã tiết lộ cách GPT-4 đánh giá ô nhiễm dữ liệu trong tài liệu kỹ thuật GPT-4 công khai "Báo cáo kỹ thuật GPT-4". họ đã công khai nó
Các chiến lược để định lượng và đánh giá tình trạng ô nhiễm dữ liệu này.
Cụ thể, OpenAI sử dụng tính năng so khớp chuỗi con để đo mức độ lây nhiễm chéo giữa tập dữ liệu đánh giá và dữ liệu trước khi đào tạo. Cả dữ liệu đánh giá và dữ liệu huấn luyện đều được xử lý bằng cách loại bỏ tất cả khoảng trắng và ký hiệu, chỉ để lại các ký tự (bao gồm cả số).
Đối với mỗi ví dụ đánh giá, OpenAI chọn ngẫu nhiên ba chuỗi con 50 ký tự (hoặc sử dụng toàn bộ ví dụ nếu có ít hơn 50 ký tự). Sự trùng khớp được xác định nếu bất kỳ chuỗi con nào trong ba chuỗi con đánh giá được lấy mẫu là chuỗi con của mẫu huấn luyện đã xử lý.
Thao tác này tạo ra một danh sách các ví dụ bị lỗi, OpenAI sẽ loại bỏ và chạy lại để đạt được điểm không bị lỗi. Nhưng phương pháp lọc này có một số hạn chế, việc so khớp chuỗi con có thể dẫn đến kết quả âm tính giả (nếu có sự khác biệt nhỏ giữa dữ liệu đánh giá và dữ liệu huấn luyện) cũng như kết quả dương tính giả. Như vậy, OpenAI chỉ sử dụng một phần thông tin trong các ví dụ đánh giá, chỉ sử dụng câu hỏi, bối cảnh hoặc dữ liệu tương đương mà bỏ qua các câu trả lời, phản hồi hoặc dữ liệu tương đương. Trong một số trường hợp, các phương án trắc nghiệm cũng bị loại trừ. Những loại trừ này có thể dẫn đến tăng kết quả dương tính giả.
Về phần này, bạn đọc quan tâm có thể tham khảo bài viết để biết thêm thông tin.
Địa chỉ giấy:
Tuy nhiên, có một số tranh cãi về điểm Con người mà Phind sử dụng khi đo điểm chuẩn GPT-4. Có người cho rằng điểm test mới nhất của GPT-4 đã lên tới 85%. Nhưng Phind trả lời rằng nghiên cứu liên quan đưa ra điểm số này không tiến hành nghiên cứu về ô nhiễm và không thể xác định liệu GPT-4 có nhìn thấy dữ liệu thử nghiệm của Human khi trải qua một vòng thử nghiệm mới hay không. Xem xét một số nghiên cứu gần đây về việc "GPT-4 trở nên ngu ngốc", việc sử dụng dữ liệu trong báo cáo kỹ thuật ban đầu sẽ an toàn hơn.
Tuy nhiên, xét đến mức độ phức tạp của việc đánh giá mô hình quy mô lớn, liệu những kết quả đánh giá này có phản ánh được khả năng thực sự của mô hình hay không vẫn còn là một vấn đề gây tranh cãi. Bạn có thể tải mô hình xuống và tự mình trải nghiệm.
Liên kết tham khảo:
Xem bản gốc
Nội dung chỉ mang tính chất tham khảo, không phải là lời chào mời hay đề nghị. Không cung cấp tư vấn về đầu tư, thuế hoặc pháp lý. Xem Tuyên bố miễn trừ trách nhiệm để biết thêm thông tin về rủi ro.
Một ngày sau khi phát hành, khả năng mã hóa của Code Llama đã được cải thiện vượt bậc và phiên bản tinh chỉnh của Human_ đạt điểm cao hơn GPT-4
Hôm qua, mã nguồn mở Meta Llama, một mô hình cơ bản chuyên tạo mã, đã miễn phí cho mục đích nghiên cứu và thương mại.
Có ba phiên bản tham số của dòng model Code Llama, số lượng tham số là 7B, 13B và 34B. Và nó hỗ trợ nhiều ngôn ngữ lập trình, bao gồm Python, C++, Java, PHP, Type (Java), C# và Bash.
Các phiên bản Code Llama do Meta cung cấp bao gồm:
Về tác dụng của nó, các phiên bản khác nhau của Code Llama có tỷ lệ vượt qua thế hệ (pass@1) trên bộ dữ liệu Human và MBPP vượt qua GPT-3.5.
Ngoài ra, pass@1 của phiên bản 34B "Không tự nhiên" của Code Llama trên tập dữ liệu Con người gần bằng GPT-4 (62,2% so với 67,0%). Tuy nhiên, Meta đã không phát hành phiên bản này nhưng đã đạt được những cải tiến hiệu suất đáng kể thông qua việc đào tạo với một lượng nhỏ dữ liệu được mã hóa chất lượng cao.
Nguồn:
Người đồng sáng lập Phind, Michael Royzen cho biết: "Đây chỉ là một thử nghiệm ban đầu nhằm mục đích tái tạo (và vượt qua) kết quả" Mã không tự nhiên Llama "trong bài báo Meta. Trong tương lai, chúng tôi sẽ có danh mục chuyên gia gồm các mô hình CodeLlama khác nhau mà tôi nghĩ sẽ có tính cạnh tranh trong quy trình làm việc trong thế giới thực. "
Tiếp theo, hãy xem nghiên cứu này được thực hiện như thế nào.
** Tinh chỉnh Code Llama-34B để đánh bại GPT-4**
Chúng ta hãy nhìn vào kết quả đầu tiên. Nghiên cứu này đã tinh chỉnh Code Llama-34B và Code Llama-34B-Python với bộ dữ liệu nội bộ của Phind và thu được hai mô hình lần lượt là Phind-CodeLlama-34B-v1 và Phind-CodeLlama-34B-Python-v1.
Hai mô hình mới thu được lần lượt đạt 67,6% và 69,5% pass@1 trên Human.
Để so sánh, CodeLlama-34B pass@1 là 48,8%; CodeLlama-34B-Python pass@1 là 53,7%.
Và GPT-4 pass@1 trên Human là 67% (dữ liệu do OpenAI công bố trong "Báo cáo kỹ thuật GPT-4" phát hành vào tháng 3 năm nay).
Nguồn:
Thay vì các ví dụ hoàn thành mã, tập dữ liệu này sử dụng các cặp lệnh-câu trả lời, khác với cấu trúc dữ liệu Con người. Sau đó, nghiên cứu đã huấn luyện mô hình Phind cho hai kỷ nguyên, với tổng số khoảng 160.000 mẫu. Các nhà nghiên cứu cho biết công nghệ LoRA không được sử dụng trong quá trình đào tạo mà sử dụng tính năng tinh chỉnh cục bộ.
Ngoài ra, nghiên cứu còn áp dụng công nghệ DeepSpeed ZeRO 3 và Flash Chú ý 2. Họ đã dành ba giờ trên 32 GPU A100-80GB để đào tạo các mô hình này với độ dài chuỗi là 4096 mã thông báo.
Ngoài ra, nghiên cứu còn áp dụng phương pháp khử nhiễm của OpenAI vào tập dữ liệu để kết quả mô hình hiệu quả hơn.
Như chúng ta đã biết, ngay cả GPT-4 rất mạnh cũng sẽ phải đối mặt với tình thế tiến thoái lưỡng nan về ô nhiễm dữ liệu.Theo cách nói thông thường, mô hình được đào tạo có thể đã được đào tạo về dữ liệu đánh giá.
Vấn đề này rất khó đối với LLM, ví dụ, trong quá trình đánh giá hiệu suất của một mô hình, để đưa ra đánh giá đáng tin cậy về mặt khoa học, nhà nghiên cứu phải kiểm tra xem vấn đề được sử dụng để đánh giá có nằm trong dữ liệu huấn luyện của mô hình hay không. Nếu vậy, mô hình có thể ghi nhớ những câu hỏi này và khi đánh giá mô hình, rõ ràng nó sẽ hoạt động tốt hơn đối với những câu hỏi cụ thể này.
Giống như một người đã biết trước đề thi trước khi làm bài thi.
Để giải quyết vấn đề này, OpenAI đã tiết lộ cách GPT-4 đánh giá ô nhiễm dữ liệu trong tài liệu kỹ thuật GPT-4 công khai "Báo cáo kỹ thuật GPT-4". họ đã công khai nó
Các chiến lược để định lượng và đánh giá tình trạng ô nhiễm dữ liệu này.
Cụ thể, OpenAI sử dụng tính năng so khớp chuỗi con để đo mức độ lây nhiễm chéo giữa tập dữ liệu đánh giá và dữ liệu trước khi đào tạo. Cả dữ liệu đánh giá và dữ liệu huấn luyện đều được xử lý bằng cách loại bỏ tất cả khoảng trắng và ký hiệu, chỉ để lại các ký tự (bao gồm cả số).
Đối với mỗi ví dụ đánh giá, OpenAI chọn ngẫu nhiên ba chuỗi con 50 ký tự (hoặc sử dụng toàn bộ ví dụ nếu có ít hơn 50 ký tự). Sự trùng khớp được xác định nếu bất kỳ chuỗi con nào trong ba chuỗi con đánh giá được lấy mẫu là chuỗi con của mẫu huấn luyện đã xử lý.
Thao tác này tạo ra một danh sách các ví dụ bị lỗi, OpenAI sẽ loại bỏ và chạy lại để đạt được điểm không bị lỗi. Nhưng phương pháp lọc này có một số hạn chế, việc so khớp chuỗi con có thể dẫn đến kết quả âm tính giả (nếu có sự khác biệt nhỏ giữa dữ liệu đánh giá và dữ liệu huấn luyện) cũng như kết quả dương tính giả. Như vậy, OpenAI chỉ sử dụng một phần thông tin trong các ví dụ đánh giá, chỉ sử dụng câu hỏi, bối cảnh hoặc dữ liệu tương đương mà bỏ qua các câu trả lời, phản hồi hoặc dữ liệu tương đương. Trong một số trường hợp, các phương án trắc nghiệm cũng bị loại trừ. Những loại trừ này có thể dẫn đến tăng kết quả dương tính giả.
Về phần này, bạn đọc quan tâm có thể tham khảo bài viết để biết thêm thông tin.
Địa chỉ giấy:
Tuy nhiên, có một số tranh cãi về điểm Con người mà Phind sử dụng khi đo điểm chuẩn GPT-4. Có người cho rằng điểm test mới nhất của GPT-4 đã lên tới 85%. Nhưng Phind trả lời rằng nghiên cứu liên quan đưa ra điểm số này không tiến hành nghiên cứu về ô nhiễm và không thể xác định liệu GPT-4 có nhìn thấy dữ liệu thử nghiệm của Human khi trải qua một vòng thử nghiệm mới hay không. Xem xét một số nghiên cứu gần đây về việc "GPT-4 trở nên ngu ngốc", việc sử dụng dữ liệu trong báo cáo kỹ thuật ban đầu sẽ an toàn hơn.
Liên kết tham khảo: