Mã nguồn mở Llama chính thức: miễn phí cho mục đích thương mại, phiên bản bí ẩn gần với GPT-4

Nguồn: Trái tim của cỗ máy

Biên tập viên: Du Wei, Chen Ping

Hôm nay, dòng mô hình Llama mã nguồn mở của Meta đã chào đón một thành viên mới - Code Llama, một mô hình cơ bản chuyên về tạo mã.

Là phiên bản dành riêng cho mã của Llama 2, Code Llama được tinh chỉnh và đào tạo thêm trên một tập dữ liệu mã cụ thể.

Meta cho biết thỏa thuận nguồn mở của Code Llama, giống như Llama 2, là miễn phí cho mục đích nghiên cứu và thương mại.

Bài viết liên quan "Code Llama: Open Foundation Models for Code" đã được xuất bản, với 47 trang và 25 tác giả.

Địa chỉ giấy:

Địa chỉ GitHub:

Có ba phiên bản của dòng mô hình Code Llama với số lượng tham số 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.

Code Llama hỗ trợ ổn định việc tạo bối cảnh lên tới 100.000 mã thông báo. Hình 2 bên dưới thể hiện quá trình tinh chỉnh của Code Llama.

Về tác dụng của nó, tốc độ vượt qua (pass@1) của các phiên bản Code Llama khác nhau trên bộ dữ liệu Human và MBPP có thể 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%). 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ể bằng cách đào tạo một lượng nhỏ dữ liệu được mã hóa chất lượng cao.

Phiên bản đặc biệt này đã thu hút được sự chú ý của nhiều người, trong đó có Andrej Karpathy, cựu giám đốc AI tại Tesla và đang quay trở lại với OpenAI.

Mặc dù trong bài viết có đề cập rằng đó là "Phiên bản Code Llama-Python 34B được tinh chỉnh trên 15.000 hướng dẫn không tự nhiên" nhưng Karpathy vẫn tò mò về "cái tên bí ẩn, mô tả mơ hồ và đè bẹp các mô hình bảo mật khác" này.

Mã Llama hoạt động như thế nào

Code Llama có khả năng mã hóa rất mạnh. Nó có thể tạo mã dựa trên mã và lời nhắc ngôn ngữ tự nhiên (ví dụ: lời nhắc nhập của người dùng "Giúp tôi viết hàm xuất ra chuỗi Fibonacci.") Nó cũng có thể giúp người dùng hoàn thành và gỡ lỗi mã mã .

Ba phiên bản tham số của mô hình Code Llama được huấn luyện bằng cách sử dụng mã thông báo mã 500B và dữ liệu liên quan đến mã. Các mô hình lệnh và cơ sở 7B và 13B cũng được đào tạo FIM (điền vào giữa), cho phép chèn mã vào mã hiện có, nghĩa là chúng có thể hỗ trợ các tác vụ như hoàn thành mã ngay lập tức.

Bảng sau đây là tập dữ liệu huấn luyện của Code Llama.

Với cả ba mô hình, các yêu cầu về dịch vụ và độ trễ khác nhau đều có thể được đáp ứng. Ví dụ: mô hình 7B có thể chạy trên một GPU; mô hình 34B trả về kết quả tốt nhất và cung cấp hỗ trợ mã hóa tốt hơn, nhưng về tốc độ, mô hình 7B và 13B nhỏ hơn nhanh hơn và phù hợp hơn cho các tác vụ có độ trễ thấp như Hoàn thành mã trực tiếp.

Code Llama không chỉ cung cấp khả năng tạo ổn định lên tới 100.000 mã thông báo ngữ cảnh mà còn cung cấp tới 16.000 chuỗi mã thông báo đào tạo cho tất cả các mô hình. **

Bên cạnh việc là điều kiện tiên quyết để tạo các chương trình dài hơn, việc có chuỗi đầu vào dài hơn cũng mang lại những khả năng mới cho Code Llama. Ví dụ: người dùng có thể cung cấp cho mô hình nhiều ngữ cảnh hơn từ cơ sở mã của họ để làm cho mã được tạo phù hợp hơn.

Điều đáng nói là Meta đã tinh chỉnh thêm Code Llama với hai biến thể bổ sung: **Code Llama - Python và Code Llama - Instruct. **

Code Llama-Python là một biến thể của Code Llama, được tinh chỉnh thêm trên mã thông báo 100B của mã Python. Bảng sau đây là tập dữ liệu huấn luyện của Code Llama-Python.

Code Llama - Instruct là một biến thể được căn chỉnh và điều chỉnh theo hướng dẫn của Code Llama để hiểu rõ hơn về các lời nhắc đầu vào. Meta khuyên bạn nên sử dụng biến thể Code Llama - Instruct khi sử dụng Code Llama để tạo mã, vì Code Llama - Instruct đã được tinh chỉnh để tạo ra các câu trả lời hữu ích và an toàn bằng ngôn ngữ tự nhiên.

Meta tuyên bố rằng họ không khuyến nghị sử dụng Code Llama hoặc Code Llama - Python cho các tác vụ ngôn ngữ tự nhiên nói chung vì cả hai mô hình đều không được thiết kế để tuân theo các hướng dẫn ngôn ngữ tự nhiên. Code Llama được thiết kế cho các tác vụ theo mã cụ thể và không phù hợp làm mô hình cơ sở cho các tác vụ khác.

Khi sử dụng mô hình Code Llama, người dùng phải tuân thủ Chính sách cấp phép và sử dụng.

Code Llama hoạt động như thế nào

Meta sử dụng hai tiêu chuẩn mã hóa Human và MBPP (Chủ yếu là Lập trình Python cơ bản) để thử nghiệm. Trong số đó, mô hình Human test dựa trên khả năng hoàn thành mã của chuỗi tài liệu (docstrings) và mô hình thử nghiệm MBPP dựa trên khả năng mô tả mã.

Kết quả cho thấy Code Llama hoạt động tốt hơn các LLM mã nguồn mở, dành riêng cho từng tác vụ mã và hoạt động tốt hơn Llama2 của chính nó. Ví dụ: Code Llama 34B đạt 53,7% trên Human và 56,2% trên MBPP, mức tốt nhất so với các giải pháp nguồn mở tiên tiến khác và có thể so sánh với ChatGPT.

Tuy nhiên, Code Llama cũng có những rủi ro, Meta cho rằng việc xây dựng một mô hình AI có trách nhiệm là rất quan trọng và họ đã thực hiện nhiều biện pháp an toàn trước khi phát hành Code Llama. Là một phần trong nỗ lực thử nghiệm của đội đỏ, Meta đã tiến hành đánh giá định lượng về nguy cơ Code Llama tạo ra mã độc. Họ đã tạo ra các gợi ý nhằm nỗ lực khiến mô hình tạo ra mã độc và so sánh phản hồi của Code Llama với những gợi ý này bằng ChatGPT (GPT3.5 Turbo). Hóa ra câu trả lời của Code Llama an toàn hơn.

Từ quan điểm này, Llama 2, người có khả năng mã hóa không đặc biệt mạnh, đã được Code Llama lấp đầy. Meta hy vọng rằng sự xuất hiện của Code Llama sẽ truyền cảm hứng cho các nhà nghiên cứu khác tạo ra các công cụ mới và sáng tạo cho các sản phẩm nghiên cứu và thương mại dựa trên Llama 2.

Liên kết tham khảo:

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
0/400
Không có bình luận
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)