Sự phát triển của Llama: Thách thức hiện trạng
Khi Llama lần đầu tiên xuất hiện, nó đã thách thức sự thống trị của các LLM nguồn đóng, lớn từ những gã khổng lồ công nghệ. Meta AI đã áp dụng một chiến lược tập trung vào các mô hình nhỏ hơn, tổng quát hơn. Ý tưởng cốt lõi là các mô hình nhỏ hơn này, được đào tạo trên một số lượng lớn token, sẽ dễ dàng hơn và tiết kiệm chi phí hơn để đào tạo lại và tinh chỉnh cho các tác vụ chuyên biệt. Cách tiếp cận này trái ngược hoàn toàn với xu hướng xây dựng các mô hình ngày càng lớn, tiêu tốn nhiều tài nguyên.
Tuy nhiên, bản chất ‘nguồn mở’ của Llama là một chủ đề gây tranh cãi. Giấy phép Meta Llama bao gồm các hạn chế cụ thể về sử dụng thương mại và chấp nhận được. Mặc dù những hạn chế này có thể được cho là hợp lý, nhưng chúng mâu thuẫn với định nghĩa nghiêm ngặt về nguồn mở của Open Source Initiative. Điều này đã dẫn đến các cuộc thảo luận liên tục về việc liệu Llama có thực sự đủ điều kiện là nguồn mở hay không.
Điều hướng các thách thức pháp lý: Mối quan tâm về bản quyền
Sự phát triển của Llama không phải là không có những rào cản pháp lý. Năm 2023, Meta phải đối mặt với hai vụ kiện tập thể từ các tác giả cáo buộc rằng sách có bản quyền của họ đã được sử dụng mà không được phép để đào tạo Llama. Những vụ kiện này làm nổi bật các vấn đề bản quyền phức tạp xung quanh dữ liệu đào tạo được sử dụng cho các mô hình ngôn ngữ lớn. Cho đến nay, các tòa án không quá thông cảm với các khiếu nại của các tác giả.
Mở rộng khả năng: Họ mô hình Llama ngày càng phát triển
Kể từ cuối năm 2023, Meta AI đã mở rộng đáng kể họ Llama. Các mô hình không còn bị giới hạn trong các tương tác dựa trên văn bản. Hệ sinh thái Llama hiện tại bao gồm các mô hình đa phương thức có khả năng xử lý cả đầu vào văn bản và hình ảnh, cũng như các mô hình được thiết kế để giải thích mã và tích hợp công cụ. Hơn nữa, Meta đã giới thiệu các thành phần an toàn, được gọi là Llama Guard, để xác định và giảm thiểu các rủi ro và tấn công tiềm ẩn, chúng được thiết kế để trở thành một phần của một khuôn khổ tổng thể được gọi là ‘Llama Stack’.
Dưới đây là cái nhìn sâu hơn về một số mô hình chính trong họ Llama (được cô đọng từ thẻ mô hình của Meta AI):
Llama Guard 1: Bảo vệ các tương tác
Llama Guard 1 là một mô hình 7 tỷ tham số dựa trên Llama 2. Nó đóng vai trò như một biện pháp bảo vệ đầu vào-đầu ra, phân loại nội dung trong cả lời nhắc của người dùng (phân loại lời nhắc) và phản hồi LLM (phân loại phản hồi). Mô hình này giúp đảm bảo các tương tác an toàn hơn và có trách nhiệm hơn với các hệ thống dựa trên Llama.
Llama Guard sử dụng một hệ thống phân loại sáu cấp độ để phân loại các tác hại tiềm ẩn:
- Bạo lực & Thù hận (Violence & Hate): Nội dung thúc đẩy bạo lực hoặc thù hận đối với các cá nhân hoặc nhóm.
- Nội dung khiêu dâm (Sexual Content): Tài liệu khiêu dâm hoặc nội dung khai thác, lạm dụng hoặc gây nguy hiểm cho trẻ em.
- Súng & Vũ khí bất hợp pháp (Guns & Illegal Weapons): Nội dung liên quan đến việc bán, sử dụng hoặc sửa đổi trái phép súng và các loại vũ khí khác.
- Chất được kiểm soát hoặc quy định (Regulated or Controlled Substances): Nội dung quảng bá việc sử dụng hoặc bán trái phép ma túy, rượu hoặc thuốc lá.
- Tự tử & Tự làm hại (Suicide & Self Harm): Nội dung khuyến khích hoặc cung cấp hướng dẫn tự tử hoặc tự làm hại.
- Lập kế hoạch tội phạm (Criminal Planning): Nội dung tạo điều kiện hoặc lập kế hoạch cho các hoạt động bất hợp pháp.
Code Llama 70B: Bộ ba năng lực viết code
Code Llama 70B đánh dấu một sự mở rộng đáng kể về khả năng viết code của Llama. Mô hình này có sẵn trong ba biến thể riêng biệt:
- Code Llama: Mô hình cơ sở được thiết kế để tổng hợp và hiểu code nói chung. Nó có thể tạo code, giải thích chức năng code và hỗ trợ gỡ lỗi.
- Code Llama – Python: Một phiên bản chuyên biệt dành riêng cho lập trình Python. Mô hình này được tối ưu hóa để tạo và hiểu code Python, làm cho nó trở thành một công cụ có giá trị cho các nhà phát triển Python.
- Code Llama – Instruct: Một biến thể tập trung vào việc tuân theo các hướng dẫn và đảm bảo triển khai an toàn hơn. Mô hình này đặc biệt hữu ích để tạo code tuân thủ các nguyên tắc và giao thức bảo mật cụ thể.
Cả ba biến thể đều có sẵn ở các kích thước khác nhau: 7 tỷ, 13 tỷ, 34 tỷ và 70 tỷ tham số. Code Llama và các biến thể của nó được thiết kế cho cả mục đích sử dụng thương mại và nghiên cứu, chủ yếu bằng English và các ngôn ngữ lập trình liên quan. Có nhiều bằng chứng cho thấy Code Llama sở hữu khả năng viết code mạnh mẽ.
Llama Guard 2: Phân loại an toàn nâng cao
Llama Guard 2 được xây dựng dựa trên nền tảng của phiên bản tiền nhiệm, cung cấp khả năng phân loại an toàn nâng cao. Mô hình 8 tỷ tham số này, dựa trên Llama 3, được đào tạo để dự đoán nhãn an toàn trên 11 danh mục, phù hợp với hệ thống phân loại mối nguy hiểm của MLCommons.
Các loại nguy hiểm được Llama Guard 2 bao gồm:
- S1: Tội phạm bạo lực (Violent Crimes): Nội dung liên quan đến các hành vi phạm tội bạo lực.
- S2: Tội phạm không bạo lực (Non-Violent Crimes): Nội dung liên quan đến các hành vi phạm tội không bạo lực.
- S3: Tội phạm liên quan đến tình dục (Sex-Related Crimes): Nội dung liên quan đến các hành vi phạm tội tình dục.
- S4: Lạm dụng tình dục trẻ em (Child Sexual Exploitation): Nội dung khai thác, lạm dụng hoặc gây nguy hiểm cho trẻ em về mặt tình dục.
- S5: Lời khuyên chuyên môn (Specialized Advice): Lời khuyên không đủ tiêu chuẩn hoặc gây hiểu lầm trong các lĩnh vực chuyên môn (ví dụ: y tế, pháp lý, tài chính).
- S6: Quyền riêng tư (Privacy): Nội dung vi phạm quyền riêng tư hoặc tiết lộ thông tin cá nhân mà không có sự đồng ý.
- S7: Sở hữu trí tuệ (Intellectual Property): Nội dung vi phạm quyền sở hữu trí tuệ.
- S8: Vũ khí bừa bãi (Indiscriminate Weapons): Nội dung liên quan đến vũ khí gây ra thiệt hại trên diện rộng và bừa bãi.
- S9: Thù hận (Hate): Nội dung thể hiện sự thù hận hoặc định kiến đối với các cá nhân hoặc nhóm.
- S10: Tự tử & Tự làm hại (Suicide & Self-Harm): Nội dung quảng bá hoặc cung cấp hướng dẫn tự tử hoặc tự làm hại.
- S11: Nội dung khiêu dâm (Sexual Content): Tài liệu khiêu dâm.
Meta Llama 3: Tính linh hoạt trong đối thoại
Meta Llama 3 được cung cấp ở hai kích thước, 8 tỷ và 70 tỷ tham số, với cả hai biến thể được đào tạo trước và được tinh chỉnh theo hướng dẫn. Các mô hình được tinh chỉnh theo hướng dẫn được tối ưu hóa đặc biệt cho các ứng dụng dựa trên đối thoại, làm cho chúng phù hợp với chatbot và hệ thống AI đàm thoại.
Prompt Guard: Bảo vệ chống lại các đầu vào độc hại
Prompt Guard là một mô hình phân loại được thiết kế để phát hiện các lời nhắc độc hại, bao gồm jailbreak (cố gắng vượt qua các hạn chế an toàn) và prompt injection (cố gắng thao túng đầu ra của mô hình thông qua các đầu vào được tạo thủ công). Meta AI khuyến nghị tinh chỉnh Prompt Guard với dữ liệu cụ thể của ứng dụng để đạt được hiệu suất tối ưu.
Không giống như Llama Guard, Prompt Guard không yêu cầu cấu trúc lời nhắc cụ thể. Nó hoạt động trên một đầu vào chuỗi, phân loại nó là an toàn hoặc không an toàn (ở hai mức độ nghiêm trọng khác nhau). Nó là một mô hình BERT chỉ xuất ra các nhãn.
Llama Guard 3: An toàn đa phương thức và đa ngôn ngữ
Llama Guard 3 có sẵn trong ba phiên bản: Llama Guard 3 1B, Llama Guard 3 8B và Llama Guard 3 11B-Vision. Hai phiên bản đầu tiên là mô hình chỉ có văn bản, trong khi phiên bản thứ ba kết hợp khả năng hiểu hình ảnh của mô hình Llama 3.2 11B-Vision. Tất cả các phiên bản đều đa ngôn ngữ (đối với lời nhắc chỉ có văn bản) và tuân thủ các loại nguy hiểm được xác định bởi tập đoàn MLCommons.
Llama Guard 3 8B cũng có thể được sử dụng cho danh mục S14, Lạm dụng trình thông dịch mã (Code Interpreter Abuse). Điều quan trọng cần lưu ý là mô hình Llama Guard 3 1B không được tối ưu hóa cho danh mục cụ thể này.
Các loại nguy hiểm, mở rộng trên các loại của Llama Guard 2 là:
- S1: Tội phạm bạo lực (Violent Crimes)
- S2: Tội phạm không bạo lực (Non-Violent Crimes)
- S3: Tội phạm liên quan đến tình dục (Sex-Related Crimes)
- S4: Lạm dụng tình dục trẻ em (Child Sexual Exploitation)
- S5: Phỉ báng (Defamation)
- S6: Lời khuyên chuyên môn (Specialized Advice)
- S7: Quyền riêng tư (Privacy)
- S8: Sở hữu trí tuệ (Intellectual Property)
- S9: Vũ khí bừa bãi (Indiscriminate Weapons)
- S10: Thù hận (Hate)
- S11: Tự tử & Tự làm hại (Suicide & Self-Harm)
- S12: Nội dung khiêu dâm (Sexual Content)
- S13: Bầu cử (Elections)
- S14: Lạm dụng trình thông dịch mã (Code Interpreter Abuse)
Meta Llama 3.1: Mô hình sinh đa ngôn ngữ
Bộ sưu tập Meta Llama 3.1 bao gồm các mô hình ngôn ngữ lớn đa ngôn ngữ, bao gồm các mô hình sinh được đào tạo trước và được tinh chỉnh theo hướng dẫn ở các kích thước 8 tỷ, 70 tỷ và 405 tỷ tham số (đầu vào văn bản, đầu ra văn bản).
Các ngôn ngữ được hỗ trợ bao gồm: English, German, French, Italian, Portuguese, Hindi, Spanish, và Thai.
Meta Llama 3.2: Khả năng đối thoại nâng cao
Bộ sưu tập Llama 3.2 có các mô hình ngôn ngữ lớn đa ngôn ngữ, bao gồm các mô hình sinh được đào tạo trước và được tinh chỉnh theo hướng dẫn ở các kích thước 1 tỷ và 3 tỷ tham số (đầu vào văn bản, đầu ra văn bản). Các phiên bản lượng tử hóa của các mô hình này cũng có sẵn. Các mô hình chỉ có văn bản được tinh chỉnh theo hướng dẫn của Llama 3.2 được tối ưu hóa cho đối thoại đa ngôn ngữ, vượt trội trong các tác vụ như truy xuất và tóm tắt tác nhân. Các mô hình 1B và 3B là các dẫn xuất nhỏ hơn, ít mạnh hơn của Llama 3.1.
Các ngôn ngữ được hỗ trợ chính thức là: English, German, French, Italian, Portuguese, Hindi, Spanish, và Thai. Tuy nhiên, Llama 3.2 đã được đào tạo trên một phạm vi ngôn ngữ rộng hơn ngoài tám ngôn ngữ này.
Llama 3.2-Vision: Lý luận và hiểu hình ảnh
Bộ sưu tập Llama 3.2-Vision giới thiệu các mô hình ngôn ngữ lớn đa phương thức. Các mô hình này được đào tạo trước và tinh chỉnh theo hướng dẫn để lý luận hình ảnh, có sẵn ở các kích thước 11 tỷ và 90 tỷ tham số (đầu vào văn bản và hình ảnh, đầu ra văn bản). Các mô hình được tinh chỉnh theo hướng dẫn được tối ưu hóa để nhận dạng hình ảnh, lý luận hình ảnh, chú thích và trả lời các câu hỏi chung về hình ảnh.
Đối với các tác vụ chỉ có văn bản, các ngôn ngữ được hỗ trợ chính thức là English, German, French, Italian, Portuguese, Hindi, Spanish, và Thai. Llama 3.2 đã được đào tạo trên một tập hợp ngôn ngữ rộng hơn, nhưng đối với các ứng dụng hình ảnh + văn bản, English là ngôn ngữ duy nhất được hỗ trợ.
Meta Llama 3.3: Mô hình 70B mạnh mẽ
Mô hình ngôn ngữ lớn đa ngôn ngữ Meta Llama 3.3 là một mô hình sinh được đào tạo trước và tinh chỉnh theo hướng dẫn với 70 tỷ tham số (đầu vào văn bản, đầu ra văn bản).
Các ngôn ngữ được hỗ trợ: English, German, French, Italian, Portuguese, Hindi, Spanish, và Thai.
Điều quan trọng cần hiểu là các mô hình ngôn ngữ lớn, bao gồm Llama 3.2, không dành cho triển khai riêng lẻ. Chúng nên được tích hợp vào một hệ thống AI toàn diện với các biện pháp bảo vệ an toàn thích hợp. Các nhà phát triển dự kiến sẽ triển khai các biện pháp bảo vệ hệ thống, đặc biệt khi xây dựng các hệ thống tác nhân.
Llama 3.3, các mô hình chỉ có văn bản Llama 3.2 và Llama 3.1 bao gồm hỗ trợ tích hợp cho các công cụ sau:
- Brave Search: Một lệnh gọi công cụ để thực hiện tìm kiếm trên web.
- Wolfram Alpha: Một lệnh gọi công cụ để thực hiện các phép tính toán học phức tạp.
- Code Interpreter: Một lệnh gọi công cụ cho phép mô hình xuất code Python.
Lưu ý: Các mô hình Llama 3.2 vision không hỗ trợ gọi công cụ với đầu vào văn bản + hình ảnh.
Llama Stack: Một khuôn khổ thống nhất
Số lượng mô hình Llama có thể gây choáng ngợp. Để đơn giản hóa quá trình lựa chọn và tích hợp, Meta cung cấp Llama Stack. Khuôn khổ này nhấn mạnh các mô hình Llama nhưng cũng cung cấp các bộ điều hợp cho các khả năng liên quan, chẳng hạn như cơ sở dữ liệu vectơ cho RAG (retrieval-augmented generation).
Llama Stack hiện hỗ trợ các SDK bằng Python, Swift, Node và Kotlin. Nó cung cấp các bản phân phối khác nhau, bao gồm:
- Phân phối cục bộ (sử dụng Ollama): Để phát triển và thử nghiệm cục bộ.
- Phân phối trên thiết bị (iOS và Android): Để triển khai các mô hình Llama trên thiết bị di động.
- Phân phối cho GPU: Để tận dụng sức mạnh của GPU để xử lý nhanh hơn.
- Phân phối được lưu trữ từ xa (Together và Fireworks): Để truy cập các mô hình Llama thông qua các dịch vụ dựa trên đám mây.
Khái niệm cốt lõi đằng sau Llama Stack là cho phép các nhà phát triển xây dựng các ứng dụng cục bộ và sau đó dễ dàng chuyển sang môi trường sản xuất. Nó thậm chí còn cung cấp một Llama Stack Playground tương tác để phát triển cục bộ dựa trên một Llama Stack từ xa.
Chạy các mô hình Llama: Các tùy chọn triển khai linh hoạt
Các mô hình Llama có thể được triển khai trên nhiều nền tảng, bao gồm Linux, Windows, macOS và đám mây. Các mô hình Llama được lượng tử hóa, chẳng hạn như Llama 3.2 và Llama 3.2-Vision, có thể chạy hiệu quả trên phần cứng hiện đại, ngay cả trên máy tính xách tay như M4 Pro MacBook Pro sử dụng các công cụ như Ollama.
Meta cung cấp hướng dẫn cách thực hiện toàn diện để triển khai và sử dụng các mô hình Llama. Ngoài ra, hướng dẫn tích hợp có sẵn cho các framework phổ biến như LangChain và LlamaIndex.
Tóm lại, Llama đã vượt qua việc chỉ là một mô hình ngôn ngữ đơn giản, giờ đây nó là một framework AI đa phương thức hoàn chỉnh với các tính năng an toàn, tạo code và hỗ trợ nhiều ngôn ngữ. Hệ thống của Meta cho phép nó được triển khai ở nhiều nơi, nhưng các vấn đề pháp lý với dữ liệu đào tạo và các tranh luận về việc liệu Llama có phải là nguồn mở hay không vẫn tiếp tục.