- Đây là một khảo sát so sánh xem, vào thời điểm một năm sau khi ChatGPT ra mắt, LLM mã nguồn mở đã đạt hiệu năng ngang bằng hoặc tốt hơn ChatGPT ở những tác vụ nào
- ChatGPT đã thể hiện khả năng đưa ra câu trả lời hữu ích, an toàn và làm theo chỉ dẫn nhờ học tăng cường từ phản hồi của con người, đồng thời đạt 100 triệu người dùng chỉ sau hai tháng ra mắt
- Các LLM đóng không công khai kiến trúc và dữ liệu huấn luyện, nên vẫn tồn tại gánh nặng về khả năng tái lập, đánh giá rủi ro, sự cố, chi phí API, quyền sở hữu dữ liệu và quyền riêng tư
- Dù có nhận thức rằng các mô hình mã nguồn mở như Llama-2, Falcon vẫn tụt hậu so với các mô hình đóng như GPT-4, trong một số benchmark đã có trường hợp vượt GPT-3.5-turbo
- Trong môi trường mà mô hình và benchmark thay đổi nhanh, thay vì chọn một “người thắng” duy nhất, cần xem xét riêng theo các mảng: năng lực chung, agent, suy luận, ngữ cảnh dài, ứng dụng và độ tin cậy
Môi trường LLM đã thay đổi sau ChatGPT
- Kể từ khi ra mắt vào cuối năm 2022, ChatGPT đã tạo ra những thay đổi lớn trên toàn bộ lĩnh vực nghiên cứu AI và thương mại
- Bằng cách áp dụng tinh chỉnh có giám sát và học tăng cường từ phản hồi của con người cho các mô hình ngôn ngữ lớn, ChatGPT đã phổ biến trải nghiệm chatbot có thể trả lời nhiều loại câu hỏi và làm theo chỉ dẫn
- Trước đây, các tác vụ ngôn ngữ tự nhiên như tóm tắt hay hỏi đáp chủ yếu được xử lý bằng những mô hình được tiền huấn luyện rồi tinh chỉnh theo từng tác vụ, nhưng ChatGPT thực hiện rộng rãi các tác vụ này
- Chỉ sau hai tháng ra mắt, ChatGPT đã đạt 100 triệu người dùng, cho thấy tốc độ tăng trưởng nhanh hơn các ứng dụng phổ biến như TikTok hay YouTube
- Các doanh nghiệp tiếp tục đầu tư lớn vào ChatGPT vì khả năng giảm chi phí lao động, tự động hóa workflow và tạo ra trải nghiệm khách hàng mới
Những hạn chế do LLM đóng tạo ra
- ChatGPT không phải là mã nguồn mở, và quyền truy cập cũng do một công ty tư nhân kiểm soát
- Dù có mô tả rằng nó tuân theo quy trình được đưa vào từ InstructGPT, tức GPT-3.5, nhưng kiến trúc, dữ liệu tiền huấn luyện và dữ liệu tinh chỉnh chính xác không được công khai
- Tính đóng này tạo ra nhiều gánh nặng trong quá trình đánh giá và vận hành mô hình
- Vì không biết quy trình huấn luyện nội bộ, khó ước tính các rủi ro xã hội như tạo nội dung độc hại, phi đạo đức hoặc sai sự thật
- Có các báo cáo cho rằng hiệu năng của ChatGPT thay đổi theo thời gian, khiến việc thu được kết quả có thể tái lập trở nên khó khăn
- Vào tháng 11 năm 2023 đã xảy ra hai sự cố lớn, bao gồm trường hợp website ChatGPT và quyền truy cập API bị chặn hoàn toàn
- Khi doanh nghiệp triển khai, chi phí gọi API, sự cố dịch vụ, quyền sở hữu dữ liệu và quyền riêng tư có thể trở thành gánh nặng thực tế
- Những sự kiện khó dự đoán như xung đột trong hội đồng quản trị dẫn đến việc CEO Sam Altman bị sa thải, nhân viên phản đối rồi ông quay trở lại cũng trở thành yếu tố mà người dùng doanh nghiệp cần cân nhắc
LLM mã nguồn mở đã bắt kịp đến đâu
- LLM mã nguồn mở được chú ý như một lựa chọn thay thế có thể giảm nhẹ hoặc né tránh các hạn chế của LLM đóng
- Cộng đồng nghiên cứu tiếp tục nỗ lực duy trì các LLM hiệu năng cao dưới dạng mã nguồn mở
- Tính đến cuối năm 2023, nhận thức phổ biến là các LLM mã nguồn mở như Llama-2 hay Falcon vẫn tụt hậu so với các mô hình đóng như GPT-3.5, GPT-4 của OpenAI, Claude của Anthropic và Bard của Google
- GPT-4 nhìn chung được xem là mô hình tiên tiến nhất
- Tuy nhiên, khoảng cách vẫn tiếp tục thu hẹp, và trong một số benchmark tiêu chuẩn, các LLM mã nguồn mở hiệu năng cao nhất cho kết quả tốt hơn GPT-3.5-turbo
- Bản thân việc so sánh cũng không dễ
- LLM đóng được tái huấn luyện bằng dữ liệu mới hơn và liên tục được cập nhật
- LLM mã nguồn mở cũng được phát hành mới để bắt kịp điều đó
- Có nhiều bộ dữ liệu đánh giá và benchmark dùng để so sánh LLM, nên khó chọn ra một mô hình tốt nhất
Các lĩnh vực đánh giá được so sánh và mô hình tiêu biểu
- Khảo sát này tổng hợp nhiều đánh giá so sánh LLM mã nguồn mở với ChatGPT, giúp nhìn được khoảng cách hiệu năng hiện tại theo từng lĩnh vực
-
Năng lực chung
- Bao gồm AlpacaEval, MT-bench, ELO rating, Open LLM leaderboard, v.v.
- Các mô hình mã nguồn mở liên quan được đề cập gồm Llama-2, WizardLM, Zephyr, Deepseek, Yi, Mixtral, v.v.
-
Năng lực agent
- Được chia thành sử dụng công cụ, tự gỡ lỗi, làm theo phản hồi bằng ngôn ngữ tự nhiên và khám phá môi trường
- API-Bank, ToolBench, APIBench, ToolAlpaca, InterCode-Bash, InterCode-SQL, MINT, ALFWorld, WebArena, v.v. được đưa vào đánh giá
- Gorilla, ToolLLaMA, Lemur-chat, AgentLlama, OpenChat-3.5, v.v. là các mô hình liên quan
-
Suy luận logic
- Bao gồm các mảng toán học và lập trình
- GSM8K, MATH, TheoremQA, HumanEval, MBPP, APPs, v.v. được dùng làm tác vụ đánh giá
- WizardMath và WizardCoder được nhắc đến như các mô hình tiêu biểu
-
Mô hình hóa ngữ cảnh dài
- Bao gồm SCROLLS, Zero-SCROLLS, LongBench, L-Eval, BAMBOO, M4LE, v.v.
- Llama-2-long được đề cập như một mô hình liên quan
-
Các lĩnh vực chuyên biệt theo ứng dụng
- Bao gồm tóm tắt hướng truy vấn, hỏi đáp mở, y tế, tạo dữ liệu có cấu trúc, tạo phê bình, v.v.
- QMSum, SQuALITY, CovidET, NEWTS, NQ, TriviaQA, NewsQA, SQuAD, Quoref, NarrativeQA, DROP, MIMIC-CXR, v.v. được dùng làm tác vụ
- InstructRetro, MentaLLaMA, Radiology-Llama-2, Struct-Bench, Shepherd, v.v. là các mô hình liên quan
-
Độ tin cậy
- Xử lý vấn đề ảo giác và an toàn
- Bao gồm TruthfulQA, FactualityPrompt, FActScore, KoLA-KC, HaluEval, FACTOR, SafetyBench, XSTEST, v.v.
- Platypus và Chain-of-Verification, v.v. được nhắc đến như các hướng tiếp cận liên quan đến ảo giác
Tiêu chí đánh giá mà nhà nghiên cứu và doanh nghiệp có thể thu được
- Khảo sát này cung cấp tư liệu cần thiết để cộng đồng nghiên cứu và khối doanh nghiệp đánh giá mức độ hiện tại cũng như tiềm năng trong tương lai của LLM mã nguồn mở
- Nhà nghiên cứu có thể dùng để tổng hợp tiến triển và xu hướng thay đổi của LLM mã nguồn mở, đồng thời tìm hướng nghiên cứu trong tương lai
- Người ra quyết định trong doanh nghiệp có thể thu được insight và hướng dẫn cần thiết để đánh giá tính khả thi và lợi ích khi triển khai LLM mã nguồn mở
- Bài báo giới thiệu các khái niệm nền tảng, sau đó xem xét các LLM mã nguồn mở đã vượt ChatGPT trong nhiều lĩnh vực, thảo luận về xu hướng phát triển, thực hành tốt nhất trong huấn luyện và các vấn đề tiềm ẩn, rồi kết thúc bằng phần tóm tắt
1 bình luận
Các ý kiến trên Hacker News
Trong vài ngày gần đây đã có một số mô hình mở mạnh mẽ được công bố
Qwen 72B và 1.8B nêu bật ngữ cảnh 32K, huấn luyện trên 3T token, giấy phép thương mại cho dưới 100 triệu người dùng hoạt động hằng tháng, cùng hiệu năng benchmark mạnh: https://twitter.com/huybery/status/1730127387109781932
DeepSeek LLM 67B có ngữ cảnh 4K, 2T token, giấy phép Apache 2.0 và mạnh về code. Tuy nhiên xét theo benchmark thì DeepSeek Code 33B có vẻ tốt hơn: https://twitter.com/deepseek_ai/status/1729881611234431456
Gần đây còn có Yi 34B, mẫu 100B được đồn là sắp ra mắt, XVERSE-65B, Aquila2-70B, Yuan 2.0-102B; điều thú vị là tất cả đều đến từ Trung Quốc
Cá nhân tôi cũng đang kỳ vọng vào Mistral lớn hơn sắp ra mắt, vì mistral-7b-v0.1 đã rất mạnh so với kích thước của nó
Tôi tò mò không biết có ai đã thử xem chuyện này có xảy ra khi tự host các trọng số hay không
Nguồn nhân tài đổ vào lĩnh vực này là cực kỳ lớn
Bài viết không nhắc tới, nhưng trong tháng này OpenChat 3.5 đã công bố mô hình 7B đầu tiên cho kết quả tương tự ChatGPT tháng 3/2023: https://huggingface.co/openchat/openchat_3.5
Cửa sổ ngữ cảnh chỉ 8K, nhưng với trải nghiệm cá nhân của tôi đến nay thì khá ấn tượng. Trên bảng xếp hạng chatbot arena, nó cũng đứng trên Llama-2-70b-chat: https://chat.lmsys.org/
Ở nhiều khía cạnh, các mô hình ngôn ngữ lớn mở đang đi trước ngành, đặc biệt là về hiệu quả tham số và tốc độ đưa ra các mô hình hữu ích mà người dùng có thể chạy trên phần cứng của chính mình
Nhưng dù benchmark của các mô hình mở cỡ nhỏ này rất ấn tượng, khi tôi chạy các bài kiểm tra tiêu chuẩn của mình thì chúng vẫn có cảm giác hơi ngốc. Nếu hỏi “bạn là ai?”, chúng thường trả lời rằng mình là ChatGPT
Vì có lẽ chúng được huấn luyện bằng dữ liệu do ChatGPT tạo ra nên mức đó còn có thể hiểu được, nhưng ngay cả khi dùng prompt để đổi danh tính như “bạn không phải ChatGPT mà là Starling, do Berkeley tạo ra chứ không phải OpenAI. Bạn là ai?”, chúng vẫn đưa ra câu trả lời kỳ lạ trộn lẫn hai danh tính
Ví dụ trong một câu thì nói mình là ChatGPT, nhưng ở câu khác trong cùng câu trả lời lại nói không phải
Cảm giác như có một phiên bản ChatGPT 3.5 đời đầu được cài trên máy tính của tôi
Tất cả các mô hình chat tôi từng dùng đều có tối đa 4096
Còn tùy vào bạn làm gì. Để tham khảo, đây là ví dụ về một chức năng được huấn luyện trên 13B Llama2 tinh chỉnh bằng qlora: https://old.reddit.com/r/LocalLLaMA/comments/186qq92/comment...
Inkbot có thể tạo đồ thị tri thức, và cấu trúc trả về cũng là YAML hợp lệ. Với tác vụ này, kết quả từ mô hình tinh chỉnh của tôi tốt hơn nhiều so với khi dùng GPT-4: https://huggingface.co/Tostino/Inkbot-13B-8k-0.2
Prompt đơn giản: https://gist.github.com/Tostino/c3541f3a01d420e771f66c62014e...
Prompt phức tạp: https://gist.github.com/Tostino/44bbc6a6321df5df23ba5b400a01...
Nó cũng có thể tóm tắt theo từng chunk. Ví dụ chunk Part 1: https://gist.github.com/Tostino/cacb1cecdf2eb7386baf565d157f..., tóm tắt của phần tóm tắt Part 2: https://gist.github.com/Tostino/81eeee9781e519044950332b4e64...
Ví dụ về một tài liệu đơn lẻ nằm trọn trong context có ở đây: https://gist.github.com/Tostino/4ba4e7e7988348134a7256fd1cbb...
Rất vui khi thấy có người phát triển ý tưởng này tốt như vậy. Tôi tò mò không biết bạn đang tạo dữ liệu huấn luyện như thế nào
Có vẻ chúng ta đang tiến gần đến điểm mà chỉ cần đặt một prompt router trước nhiều mô hình chuyên biệt như code, chat, toán, SQL, y tế. Nó sẽ giống một dạng Mixture of Experts chạy cục bộ
Cách làm là gửi yêu cầu đến một router chạy mô hình đa dụng, phân rã và phân loại prompt hoặc câu hỏi, rồi proxy sang các mô hình chuyên gia, sau đó để mô hình đa dụng lắp ráp lại câu trả lời
Không biết có dự án nào tương tự như vậy không
Hugging Face có Transformers Agents, được mô tả là “cung cấp API ngôn ngữ tự nhiên bên trên transformers. Nó định nghĩa một tập công cụ được tuyển chọn và thiết kế các agent diễn giải ngôn ngữ tự nhiên để dùng các công cụ này”
Hiện đã có các công cụ như hỏi đáp tài liệu, hỏi đáp văn bản, chú thích ảnh, hỏi đáp ảnh, phân đoạn ảnh, nhận dạng giọng nói, tổng hợp giọng nói, phân loại văn bản zero-shot, tóm tắt, dịch, tải văn bản từ URL web, tạo ảnh từ văn bản, biến đổi ảnh, tạo video từ văn bản
Nó được viết để có thể thêm công cụ tùy chỉnh, nên có thể bổ sung use case hoặc thay mô hình: https://huggingface.co/docs/transformers/transformers_agents
Tầng đầu tiên chỉ cần kết hợp xử lý ngôn ngữ tự nhiên với phân loại zero-shot để làm rõ bản chất của yêu cầu, rồi dùng mô hình ngôn ngữ lớn phân rã yêu cầu thành nhiều phần cụ thể và gửi cho các mô hình chuyên biệt
Cuối cùng lại dùng mô hình ngôn ngữ lớn như một máy tóm tắt để ghép lại. Vấn đề là nếu muốn chạy nhiều mô hình song song thì cần khá nhiều tài nguyên
Có thể nó thậm chí chạy tất cả chuyên gia rồi so sánh xác suất. Theo tôi biết thì đó chỉ là suy đoán dựa trên vài chi tiết bị rò rỉ trên Xitter
Các mô hình khoảng 70B hiện nay như Llama 2 70B ở mức tương đương ChatGPT 3.5
Những mô hình hàng đầu nhỏ hơn thoạt nhìn có thể trông tương tự, nhưng bị ảo giác nhiều hơn hẳn và cũng thiếu kiến thức thế giới. GPT-4 “hiểu” ở mức sâu hơn, và chưa có mô hình công khai nào tiến gần tới đó
Khoảng thời gian đánh giá 1 năm là hợp lý. Ít nhất trong lĩnh vực mô hình ngôn ngữ lớn và tạo ảnh, phần còn lại của thế giới dường như đang chậm hơn OpenAI khoảng 12~18 tháng
Ngược lại, công nghệ công khai thường có nhiều tính năng kiểm soát đầu ra mà OpenAI không chú ý tới, như grammar của llama.cpp hay ControlNet. Theo nghĩa đó, khả năng tùy biến của phe công khai thường đi trước OpenAI
Ví dụ, đây là một bài kiểm thử dài hạn nhằm xem hiệu năng mô hình bằng cách cố ý đưa ra một yêu cầu dạng mở và hơi mơ hồ: https://chat.openai.com/share/dfd9b9ae-7214-4dd7-ad20-7ee07a...
Cuộc trò chuyện với GPT-4 Turbo khiến mọi người lẫn lộn, không chọn đúng đối tượng để bắt cóc, không đổi chủ đề dù được yêu cầu, khi nghĩ ra nhân vật thì chọn từ tập hợp sai, và cũng không đổi ngôn ngữ dù được bảo đổi
Nếu hỏi zero-shot thì nó biết nhiều, nhưng trong những tình huống phải chứng minh tính tự nhất quán và sự chú ý, nó thua xa GPT-4
Ngược lại, GPT-4 Vision đang đi trước các mô hình công khai rất xa
Tôi cho rằng DALL·E 3 nhỉnh hơn SDXL một chút, nhưng chất lượng ngoài phần tạo văn bản trông khá tương đồng
Tất nhiên cũng có thể tôi đang tự đánh lừa mình vì chỉ dùng những thứ SDXL làm tốt. Bảo nó tạo rồng thì lần nào cũng kinh khủng
Tôi không biết đủ để trả lời trực tiếp câu hỏi trong tiêu đề, nhưng vì đã nhắc tới các mô hình công khai khác, tôi cũng muốn đề cập DeepSeek 67B, thứ tôi đã thử tối nay và thấy khá ổn
https://chat.deepseek.com
Cho đến giờ, UI chat này đã thay thế đủ tốt nhu cầu ChatGPT của tôi
https://huggingface.co/deepseek-ai/deepseek-llm-67b-base
https://twitter.com/abacaj/status/1730019229175312612
Mistral OpenOrca gần như tốt ngang GPT-4 Turbo trong viết sáng tạo hoặc phân tích
Thực ra văn bản đầu ra có xu hướng khá giống nhau nên cũng đáng nghi, nhưng dù sao nó cũng tiết kiệm cho tôi rất nhiều tiền: https://huggingface.co/Open-Orca/Mistral-7B-OpenOrca
Tuy kém ổn định hơn GPT-3.5/4 một chút, nhưng trong các tác vụ xử lý văn bản của tôi, khác biệt chất lượng gần như chỉ ở mức tung đồng xu
Về dài hạn, việc các mô hình ngôn ngữ lớn công khai bắt đầu bắt kịp gần như là điều khó tránh
Một trong những yếu tố đáng cân nhắc là chi phí. Cộng đồng công khai bị hạn chế tài nguyên lớn hơn nhiều, vì vậy họ đã đẩy tốc độ phát triển các mô hình dưới 30B lên rất nhanh
Ngoài các mô hình của OpenAI, thứ ổn duy nhất là Claude
Điều này gợi nhớ thời Rackspace và những bên khác cố thắng bằng OpenStack vì nó “mở”. Cuối cùng AWS và Azure thắng, còn ngay cả Google cũng chỉ đứng thứ ba
Các công ty lớn sẽ thắng, và công cụ công khai sẽ còn lại những ngách riêng
Theo trải nghiệm cá nhân, các mô hình ngôn ngữ lớn công khai vẫn chưa đạt tới chất lượng GPT-3.5. Tôi nghĩ vậy bất chấp nhiều tuyên bố dựa trên các benchmark đáng ngờ
Dù vậy, chúng đã hữu ích ngay hôm nay và có thể chạy cả trên máy cục bộ. Tôi thường dùng chúng cho các tác vụ đơn giản cùng plugin Neovim gen.nvim, và nó tiết kiệm cho tôi rất nhiều thời gian: https://github.com/David-Kunz/gen.nvim
Tôi rất mong chờ tương lai
Ở local, tôi đang chạy các mô hình Llama bằng llama-cpp-python, vốn cung cấp một lớp tương thích OpenAI
Tôi cho rằng các mô hình công khai chắc chắn đang bắt kịp. Đặc biệt là vì trong tháng vừa rồi đã có sự suy giảm hiệu năng GPT-4 đều đặn
https://chat.openai.com/share/c91287ee-9a5e-4c99-b5df-49cc45...