Các dự án trí tuệ nhân tạo mã nguồn mở là một cơ hội tuyệt vời để xây dựng các tính năng và ứng dụng mới ứng dụng AI và mô hình ngôn ngữ.
Chúng ta đều biết rằng Trí tuệ Nhân tạo (AI) đang thay đổi thế giới. Nhưng điều gì xảy ra khi bạn kết hợp AI với sức mạnh của mã nguồn mở?
Trong năm qua, đã xảy ra một sự bùng nổ các dự án trí tuệ nhân tạo mã nguồn mở trên GitHub, hơn 8,000 dự án. Chúng đa dạng từ các mô hình ngôn ngữ lớn được hỗ trợ thương mại (LLMs) như LLaMA của Meta đến các ứng dụng mã nguồn mở thử nghiệm.
Những dự án này mang lại nhiều lợi ích cho các nhà phát triển mã nguồn mở và cộng đồng học máy – và là một cách tuyệt vời để bắt đầu xây dựng các tính năng và ứng dụng mới được ứng dụng trí tuệ nhân tạo.
Trong bài viết này, chúng tôi sẽ khám phá:
- Sự khác biệt giữa LLMs mã nguồn mở và các mô hình đã được đào tạo bằng mã nguồn đóng.
- Các phương pháp hay nhất cho việc điều chỉnh tinh chỉnh LLMs.
- Các LLMs mã nguồn mở hiện có ngày nay.
- Tương lai của thế giới trí tuệ nhân tạo đang phát triển nhanh chóng.
Hãy bắt đầu.
Mô hình ngôn ngữ dựa trên mạng thần kinh (LLMs) mã nguồn mở so với các phiên bản đóng
Hiện tại, hầu hết chúng ta đã quen thuộc với LLMs: các mô hình ngôn ngữ dựa trên mạng thần kinh được đào tạo trên lượng dữ liệu lớn để mô phỏng hành vi con người thông qua việc thực hiện các nhiệm vụ phụ thuộc như trả lời câu hỏi, dịch thuật và tóm tắt. LLMs đã gây sự chấn động trong thế giới với việc giới thiệu các công cụ như ChatGPT và GitHub Copilot.
Các LLMs mã nguồn mở khác biệt so với phiên bản đóng của họ liên quan đến mã nguồn (và đôi khi cả các thành phần khác). Với các LLMs đóng, mã nguồn – giải thích cách mô hình được cấu trúc và cách các thuật toán đào tạo hoạt động – không được công bố.
“Khi bạn thực hiện nghiên cứu, bạn muốn truy cập vào mã nguồn để bạn có thể điều chỉnh tinh chỉnh một số phần của thuật toán chính nó,” Alireza Goudarzi, một nhà nghiên cứu cấp cao về học máy tại GitHub nói. “Với các mô hình đóng, điều này khó khăn hơn để thực hiện.”
Các LLMs mã nguồn mở giúp cho ngành công nghiệp tổng thể: vì rất nhiều người đóng góp, chúng có thể được phát triển nhanh hơn so với các mô hình đóng. Chúng cũng có thể hiệu quả hơn đối với các trường hợp biên hoặc ứng dụng cụ thể (như hỗ trợ ngôn ngữ địa phương), có thể chứa các điều khiển bảo mật tùy chỉnh và có thể chạy trên các mô hình cục bộ.
Tuy nhiên, các mô hình đóng – thường được xây dựng bởi các công ty lớn – cũng có những ưu điểm riêng của họ. Đầu tiên, chúng được tích hợp vào các hệ thống có bộ lọc thông tin có thiên hướng, ngôn ngữ không thích hợp và nội dung đáng ngờ khác. Chúng thường cũng có các biện pháp bảo mật tích hợp. Ngoài ra, chúng không cần tinh chỉnh, một kỹ năng chuyên môn yêu cầu sự cam kết của các cá nhân và nhóm người chuyên nghiệp.
“Eddie Aftandilian, một nhà nghiên cứu chính tại GitHub lưu ý: “LLMs đóng sẵn, sẵn sàng sử dụng là chất lượng cao. Chúng thường dễ tiếp cận hơn đối với các nhà phát triển thông thường.”
Cách tinh chỉnh các mô hình LLM mã nguồn mở
Việc tinh chỉnh các mô hình mã nguồn mở được thực hiện trên các dịch vụ lưu trữ của các nhà cung cấp lớn trên đám mây, chẳng hạn như AWS, Google Cloud hoặc Microsoft Azure. Tinh chỉnh cho phép bạn tối ưu hóa mô hình bằng cách tạo ra các tương tác ngôn ngữ nâng cao hơn trong các ứng dụng như trợ lý ảo và chatbot. Điều này có thể cải thiện độ chính xác của mô hình từ năm đến mười phần trăm.
Còn về các quy tắc tốt nhất? Goudarzi khuyến nghị cẩn thận về việc lấy mẫu dữ liệu và rõ ràng về nhu cầu cụ thể của ứng dụng bạn đang cố gắng xây dựng. Dữ liệu được tạo ra nên phù hợp chính xác với nhu cầu của bạn, vì các mô hình đã được đào tạo trước trên bất cứ điều gì bạn có thể tìm thấy trực tuyến.
“Bạn cần nhấn mạnh những điều liên quan đến mục tiêu của bạn”, anh nói. “Hãy nói chúng ta đang cố gắng tạo ra một mô hình để xử lý các lệnh TV và nhà thông minh. Bạn muốn tiền chọn dữ liệu của mình để có nhiều lệnh hơn.”
Điều này sẽ giúp tối ưu hóa hiệu suất của mô hình.
Nếu bạn đang muốn tinh chỉnh mô hình LLM mã nguồn mở của mình, hãy thử sử dụng LoRA.
Microsoft cung cấp dự án mã nguồn mở LoRA (Low-Rank Adaptation of Large Language Models) trên GitHub, đó có thể là một công cụ hữu ích cho việc tinh chỉnh LLMs.
LoRA là một phương pháp đào tạo sử dụng một thủ thuật toán học để phân giải các chỉ số lớn thành các chỉ số nhỏ hơn. Điều này dẫn đến ít tham số hơn và tăng cường khả năng lưu trữ, từ đó giảm thời gian xử lý nhanh hơn. Các kỹ thuật như LoRA có thể giúp bạn triển khai LLMs cho nhiều khách hàng, vì nó chỉ yêu cầu lưu trữ các ma trận nhỏ. Các kỹ thuật khác cho việc tinh chỉnh LLMs bao gồm tinh chỉnh cứng, tinh chỉnh mềm và tinh chỉnh tiền tố.
Chọn mô hình phù hợp
Mô hình mã nguồn mở nào là tốt nhất cho bạn? Aftandilian khuyến nghị tập trung vào các chỉ số hiệu suất của các mô hình trong các tình huống khác nhau, chẳng hạn như luận lý, hiểu biết về lĩnh vực cụ thể như luật hoặc khoa học, và hiểu biết về ngôn ngữ.
Tuy nhiên, đừng cho rằng kết quả kiểm tra là chính xác hoặc có ý nghĩa.
“Thay vào đó, hãy tự hỏi, mô hình này tốt đến đâu trong một nhiệm vụ cụ thể?” anh nói. “Khá dễ để cho phép các chỉ số kiểm tra xâm nhập vào tập dữ liệu đào tạo do thiếu sự hiểu biết sâu, hiệu suất bị lệch, hoặc sự hạn chế trong việc tổng quát hóa.”
Khi điều này xảy ra, mô hình được đào tạo trên dữ liệu đánh giá của chính nó. “Điều này sẽ khiến nó trông tốt hơn nhưng thực sự không phải là như vậy,” Aftandilian nói.
Bạn cũng nên xem xét mức giá để vận hành mô hình và tỷ lệ thời gian trễ tổng thể của nó. Một mô hình lớn, ví dụ, có thể rất mạnh mẽ. Nhưng nếu nó mất vài phút để tạo ra câu trả lời so với vài giây, có thể có các lựa chọn tốt hơn. (Ví dụ, các mô hình mà làm việc cho GitHub Copilot trong tính năng IDE có tỷ lệ thời gian trễ dưới mười mili giây, rất thích hợp để nhận được gợi ý nhanh chóng.)
Các mô hình LLM mã nguồn mở hiện nay
Hiện có một số mô hình được cấp phép thương mại mã nguồn mở có sẵn. Các mô hình này bao gồm:
- OpenLLaMA: Đây là một phiên bản mã nguồn mở của mô hình LLaMA của Meta, được phát triển bởi Berkeley AI Research. Dự án này cung cấp các mô hình được cấp phép một cách linh hoạt với 3 tỷ, 7 tỷ và 13 tỷ tham số, và được đào tạo trên một nghìn tỷ tokens. Các mô hình OpenLLaMA đã được đánh giá trên các nhiệm vụ sử dụng lm-evaluation-harness và thực hiện tương đương với LLaMA ban đầu và GPT-J trên hầu hết các nhiệm vụ. Tuy nhiên, do cấu hình tokenizer, các mô hình này không phù hợp cho các nhiệm vụ tạo mã code với khoảng trống trống rỗng.
- Falcon-Series: Được phát triển bởi Viện Đổi Mới Công Nghệ của Abu Dhabi (TII), Falcon-Series bao gồm hai mô hình: Falcon-40B và Falcon-7B. Dòng sản phẩm này có một quy trình dữ liệu đào tạo độc đáo trích xuất nội dung với tính năng loại bỏ trùng lặp và lọc từ dữ liệu web. Các mô hình cũng sử dụng multi-query attention, giúp cải thiện khả năng mở rộng của quá trình suy luận. Falcon có thể tạo ra văn bản giống con người, dịch ngôn ngữ và trả lời các câu hỏi.
- MPT-Series: Một bộ mô hình lớn chỉ có trình giải mã, các mô hình MPT-Series đã được đào tạo trên một nghìn tỷ tokens bao gồm mã, văn bản ngôn ngữ tự nhiên và văn bản khoa học. Được phát triển bởi MosaicML, các mô hình này có hai phiên bản cụ thể: MPT-Instruct, được thiết kế để tập trung vào nhiệm vụ, và MPT-Chat, cung cấp trải nghiệm trò chuyện. Đây là phù hợp nhất cho các trợ lý ảo, chatbot và các công cụ tương tác với người dùng khác.
- FastChat-T5: Một mô hình biến đổi lớn với ba tỷ tham số, FastChat-T5 là một mô hình chatbot được phát triển bởi đội ngũ FastChat thông qua việc tinh chỉnh mô hình Flan-T5-XL. Được đào tạo trên 70,000 cuộc trò chuyện được chia sẻ bởi người dùng, nó tạo ra câu trả lời cho đầu vào của người dùng theo cách tự động và chủ yếu dành cho các ứng dụng thương mại. Đây là sự lựa chọn mạnh mẽ cho các ứng dụng cần hiểu ngôn ngữ, chẳng hạn như trợ lý ảo, hệ thống hỗ trợ khách hàng và các nền tảng tương tác.
Tương lai của các mô hình ngôn ngữ (LLM) mã nguồn mở
Có sự sôi nổi của hoạt động trong thế giới LLM mã nguồn mở.
“Eddie Aftandilian nói: “Các nhà phát triển rất tích cực trên một số mô hình mã nguồn mở này. Họ có thể tối ưu hóa hiệu suất, khám phá các trường hợp sử dụng mới và đẩy mạnh các thuật toán mới và dữ liệu hiệu quả hơn.”
Và đó chỉ là sự khởi đầu.
Mô hình LLaMA của Meta hiện đã có sẵn cho sử dụng thương mại, cho phép các doanh nghiệp tạo ra các giải pháp trí tuệ nhân tạo của riêng họ.
Nhóm của Alireza Goudarzi đã nghĩ về cách họ có thể chưng cất các LLMs mã nguồn mở và giảm kích thước của chúng. Nếu như những mô hình nhỏ hơn, chúng có thể được cài đặt trên các máy địa phương và bạn có thể có phiên bản mini của GitHub Copilot của riêng bạn, ví dụ. Nhưng hiện tại, các mô hình mã nguồn mở thường cần hỗ trợ tài chính do cơ sở hạ tầng và chi phí vận hành rộng rãi của chúng.
Một điều làm Alireza Goudarzi bất ngờ: ban đầu, cộng đồng học máy nghĩ rằng trí tuệ nhân tạo phát sinh tiên tiến hơn sẽ đòi hỏi các thuật toán phức tạp hơn. Nhưng điều đó không đúng.
“Thuật toán đơn giản thực sự không thay đổi, bất kể nó có thể làm được bao nhiêu,” anh nói. “Sự thay đổi duy nhất là quy mô, điều này hoàn toàn làm người ta kinh ngạc.”
Chẳng ai biết được làm thế nào mà các LLM mã nguồn mở sẽ cách mạng hóa cảnh quan phát triển.
“Tôi rất phấn khích khi thấy có nhiều LLM mã nguồn mở như vậy,” Goudarzi nói. “Khi các nhà phát triển bắt đầu xây dựng với những mô hình này, các khả năng là không giới hạn.”