Nếu muốn tự xây dựng một chatbot kiểu ChatGPT mã nguồn mở
(hacks.mozilla.org)- Một nhóm nhỏ thuộc nhóm đổi mới của Mozilla đã tạo nguyên mẫu chatbot dùng nội bộ trong một hackathon kéo dài 1 tuần, thử nghiệm cấu hình vận hành LLM mã nguồn mở bên trong đám mây của Mozilla mà không dùng API bên thứ ba
- Do loại trừ AI SaaS bên ngoài, họ phải tự cấu hình máy chủ trực tiếp trong tài khoản GCP của Mozilla, và chuyển từ Hugging Face text-generation-inference sang llama.cpp để có thể chạy nhanh hơn
- Việc chọn mô hình trước hết bị ràng buộc bởi giấy phép và khả năng tương thích runtime hơn là chất lượng; sau khi đánh giá thủ công các ứng viên thuộc họ LLaMA có thể dùng cho mục đích thương mại, họ chọn LLaMA 2
- Tích hợp tri thức nội bộ được triển khai bằng embedding và tìm kiếm vector; kết hợp all-mpnet-base-v2, SentenceTransformers, LangChain và FAISS để dùng một phần wiki công ty trong câu trả lời
- Nguyên mẫu đã hoàn thành, nhưng để xây dựng một chatbot mã nguồn mở đáng tin cậy, có rất nhiều lĩnh vực phải tự đưa ra phán đoán, từ hosting, đánh giá mô hình, thiên kiến, prompt cho tới UI
Chatbot nội bộ mà Mozilla muốn xây dựng
- Mozilla đề cao các nguyên tắc trustworthy AI: hệ thống AI phải minh bạch về dữ liệu và quá trình ra quyết định mà chúng sử dụng, tôn trọng quyền riêng tư, quyền tự chủ và sự an toàn của người dùng, đồng thời giảm thiên kiến và tăng tính công bằng
- Con đường chính để nhiều người dùng trải nghiệm AI hiện đại là chatbot AI tạo sinh như ChatGPT và Bard; các dịch vụ thống trị thường do những công ty công nghệ mạnh vận hành và dựa vào công nghệ độc quyền
- Mozilla xem mã nguồn mở là cách trao thêm sức mạnh cho người dùng, tăng tính minh bạch, và tránh để công nghệ phát triển chỉ theo thế giới quan và động cơ tài chính của một số ít công ty
- Mục tiêu trực tiếp của hackathon là tạo một nguyên mẫu chatbot nội bộ đáp ứng các điều kiện sau
- Chạy hoàn toàn trên hạ tầng đám mây của Mozilla và không phụ thuộc vào API hay dịch vụ bên thứ ba
- Được cấu thành từ LLM và công cụ miễn phí, mã nguồn mở
- Phản ánh Mozilla Manifesto và các nguyên tắc trustworthy AI
- Tích hợp một phần tri thức nội bộ của Mozilla để có thể trả lời câu hỏi của nhân viên
Hosting: máy chủ GCP tự vận hành thay vì SaaS bên ngoài
- Có nhiều dịch vụ hosting ứng dụng machine learning, nhưng MLOps rất khó; ứng dụng AI cấu hình kém có thể chậm, đắt đỏ hoặc chất lượng thấp
- Mục tiêu rõ ràng của nhóm là bảo mật và quyền riêng tư, để bên ngoài không thể nghe nội dung sử dụng, thu thập dữ liệu người dùng hay nhìn vào tình hình sử dụng
- Vì vậy, thay vì dùng hosting AI SaaS của bên thứ ba, họ cấu hình máy chủ ảo riêng trong tài khoản Google Cloud Platform hiện có của Mozilla
- Lựa chọn này đồng nghĩa với việc tự gánh MLOps, nhưng cho phép Mozilla kiểm soát hệ thống và giữ nó ở chế độ riêng tư
Runtime: chuyển từ Hugging Face sang llama.cpp
- Ứng dụng LLM cần một runtime engine để chạy mô hình, và do hạn chế thời gian, nhóm tập trung vào llama.cpp và hệ sinh thái Hugging Face
- Hugging Face cung cấp thư viện mô hình, tài liệu, hướng dẫn và API suy luận được hosting
- Nhóm thử text-generation-inference mã nguồn mở thay vì API được hosting
- text-generation-inference hỗ trợ nhiều mô hình và kiến trúc mô hình, có thể triển khai bằng Docker, nhưng trong quá trình chạy máy chủ, vấn đề cấu hình môi trường rất lớn
- Vì là công cụ tăng tốc GPU, tổ hợp OS, phần cứng và driver của máy chủ phải khớp
- Cần NVIDIA CUDA toolkit
- Họ dành phần lớn một ngày cho việc cấu hình, và ngay cả sau khi chạy được, đầu ra vẫn chậm hơn dự kiến và kết quả không tốt
- Do hạn chế thời gian, họ chuyển hướng sang llama.cpp do Georgi Gerganov khởi xướng
- llama.cpp giúp chạy một số họ LLM nhất định dễ dàng trên phần cứng phổ thông
- Có thể dùng CPU thay vì GPU cao cấp, và đặc biệt chạy tốt các mô hình mã nguồn mở hiện đại tương đối nhỏ trên CPU Apple Silicon như M1, M2
- llama-cpp-python cung cấp triển khai OpenAI API specification, giúp dễ thay ChatGPT bằng LLM tự vận hành
- Cuối cùng, thay vì xử lý phiên bản CUDA và GPU hosting đắt đỏ, họ chạy llama.cpp nhanh chóng trên máy chủ ảo dùng CPU AMD đa lõi
Chọn mô hình: ràng buộc về giấy phép và kiến trúc
- Khi chọn llama.cpp, các mô hình có thể sử dụng bị thu hẹp còn mô hình dựa trên kiến trúc LLaMA
- Facebook công bố LLaMA vào cuối năm 2022, và LLaMA có thể được tách thành dữ liệu mô hình và kiến trúc
- Kiến trúc LLaMA được công bố dưới dạng mã nguồn mở, nhưng dữ liệu mô hình, tức weights, không phải mã nguồn mở
- Việc sử dụng weights cần xin phép và bị giới hạn cho mục đích phi thương mại
- LLaMA đã khơi mào nhiều đổi mới mô hình như Alpaca của Stanford và Vicuna của LMSYS
- Tuy nhiên, vì các mô hình này được phát triển bằng weights của Facebook, chúng kế thừa các hạn chế pháp lý của weights gốc
- Không thể dùng cho mục đích thương mại, nên bị loại khỏi danh sách ứng viên của nhóm Mozilla
- Bản thân kiến trúc LLaMA là mã nguồn mở, nên các nhóm khác có thể huấn luyện mô hình từ đầu và công bố theo giấy phép MIT, Apache 2.0 hoặc Creative Commons
- Các mô hình dựa trên kiến trúc khác như MPT, Falcon và Open Assistant khi đó không chạy được trên llama.cpp, nên bị loại khỏi danh sách ứng viên
Đánh giá chất lượng mô hình, thiên kiến và an toàn
- Việc chọn mô hình không chỉ ảnh hưởng đến giấy phép và khả năng tương thích mà còn trực tiếp ảnh hưởng đến độ tin cậy
- LLM được huấn luyện trên lượng dữ liệu khổng lồ và được tinh chỉnh bằng đầu vào bổ sung để tạo ra hành vi và đầu ra nhất định
- Bản thân việc lựa chọn dữ liệu này là một quá trình tuyển chọn, và chứa nhiều thiên kiến khác nhau
- Mô hình thể hiện các đặc tính khác nhau tùy theo nguồn huấn luyện
- Có thể tạo ra câu trả lời vô nghĩa như ảo giác
- Có thể dẫn đến nội dung độc hại, thông tin sai lệch, hoặc chia sẻ thông tin nguy hiểm hay gây hại
- Có thể thể hiện thiên kiến đối với khái niệm hoặc nhóm người
- Việc phần lớn tài liệu học trực tuyến bằng tiếng Anh ảnh hưởng đến khả năng sử dụng công cụ và thế giới quan mà người dùng tiếp xúc
- Có các tài nguyên đánh giá hiệu năng và chất lượng như Open LLM leaderboard của Hugging Face, nhưng vẫn khó so sánh mô hình theo nguồn gốc và thiên kiến
- Sau khi thu hẹp phạm vi xuống các mô hình mở có thể dùng thương mại và hoạt động trên kiến trúc LLaMA, nhóm Mozilla tiến hành đánh giá thủ công bằng cách đặt nhiều câu hỏi để xem khả năng chống lại nội dung độc hại, thiên kiến, thông tin sai lệch và nội dung nguy hiểm
- Lựa chọn cuối cùng là LLaMA 2 của Facebook, nhưng phương pháp đánh giá trong thời gian hạn chế có thể có khiếm khuyết và nhóm cũng không hoàn toàn thoải mái với điều khoản giấy phép, nên khó xem đây là một khuyến nghị
Tích hợp tri thức nội bộ: embedding và tìm kiếm vector
- Nhóm Mozilla muốn kết nối một phần dữ liệu nội bộ của Mozilla mà nhân viên có thể truy cập nhưng LLM thông thường không thể biết vào chatbot
- Cách được chọn là embedding và tìm kiếm vector, cho phép sử dụng tài liệu bên ngoài trong quá trình tạo câu trả lời
- Luồng cơ bản như sau
- Lấy dữ liệu cần dùng từ kho lưu trữ gốc và chuyển đổi bằng mô hình embedding
- Lập chỉ mục embedding trong cơ sở dữ liệu vector mà chatbot có thể truy cập
- Khi người dùng đặt câu hỏi, chatbot tìm kiếm nội dung liên quan trong cơ sở dữ liệu vector
- Đưa nội dung liên quan đã tìm được vào cửa sổ ngữ cảnh của mô hình nền để dùng khi tạo câu trả lời
- Để duy trì kiểm soát dữ liệu, nhóm không dùng dịch vụ embedding hay cơ sở dữ liệu vector của bên thứ ba
- Giải pháp tự triển khai bằng Python sử dụng các công cụ sau
- Mô hình embedding all-mpnet-base-v2
- Thư viện embedding SentenceTransformers
- LangChain
- Cơ sở dữ liệu vector FAISS
- Vì chỉ đưa vào vài tài liệu từ wiki nội bộ công ty nên phạm vi còn hạn chế, nhưng nó hoạt động như một bằng chứng khái niệm
Prompt engineering và cửa sổ ngữ cảnh
- LLM mỗi lần đều bắt đầu ở trạng thái không nhớ cuộc trò chuyện trước hay người dùng, nên để chatbot có thể tiếp nối hội thoại, nhà phát triển phải quản lý bộ nhớ
- System prompt là chỉ thị ban đầu bằng văn bản thường, chỉ định chức năng và cách hành xử của chatbot
- Nhóm Mozilla thiết kế system prompt để chatbot tuân theo Mozilla Manifesto, hành vi tôn trọng và chính sách không phân biệt đối xử
- Với câu hỏi về thuyết âm mưu dàn dựng cuộc đổ bộ Apollo lên Mặt Trăng, khi có chỉ thị từ chối câu trả lời chứa thông tin sai lệch, chatbot trả lời rằng cuộc đổ bộ lên Mặt Trăng không bị dàn dựng
- Khi loại bỏ câu cấm thông tin sai lệch khỏi cùng mô hình, nó cung cấp danh sách các luận điểm phủ nhận Apollo thường gặp
- System prompt bao gồm tên Mozilla Assistant, tuân thủ các nguyên tắc Mozilla Manifesto, sự tôn trọng, tính chuyên nghiệp và tính bao trùm, từ chối hành vi gây hại, vô đạo đức, phi đạo đức hoặc có khả năng bất hợp pháp, cũng như cấm thông tin sai lệch và ngôn ngữ phân biệt đối xử
- Mọi LLM đều có cửa sổ ngữ cảnh, tức độ dài tối đa có thể ghi nhớ trong cuộc trò chuyện hiện tại
- Phần lớn được quyết định tại thời điểm huấn luyện và không thể thay đổi về sau
- Cửa sổ ngữ cảnh càng lớn thì càng có thể tham chiếu lâu hơn đến câu hỏi và câu trả lời trước đó
- Cũng có thể đưa vào các đoạn nội dung lớn hơn lấy từ tìm kiếm vector
- Cửa sổ ngữ cảnh của LLaMA 2 là 4096 token, khoảng 3000 từ
- Nhóm liên tục rút ngắn system prompt để tiết kiệm cửa sổ ngữ cảnh, và dự định xem xét các mô hình hỗ trợ cửa sổ ngữ cảnh lớn hơn trong tương lai
Lựa chọn orchestration và UI
- Toàn bộ chatbot cần orchestration để điều phối nhiều lớp, như chèn prompt cho agent, quản lý cửa sổ ngữ cảnh, embedding nội dung nội bộ, gọi LLM và xử lý phản hồi
- LangChain, công cụ tiêu biểu trong lĩnh vực LLM, mạnh mẽ và linh hoạt nhưng cũng rất phức tạp
- Nhóm Mozilla chỉ dùng LangChain ở mức tối thiểu cho embedding và tìm kiếm vector
- Vì đây là dự án ngắn và bị ràng buộc nhiều, phần lớn được xử lý bằng mã Python tự viết
- Nếu có thêm thời gian, nhiều khả năng họ đã không làm mọi thứ thủ công
- UI cần nhiều chức năng hơn vẻ bề ngoài đơn giản của nó, như hiển thị hội thoại, theo dõi các luồng cũ, xử lý backend xuất kết quả với tốc độ không đều
- Trong số các UI chatbot mã nguồn mở, chatbot-ui triển khai OpenAI API nên có thể dùng như một giải pháp thay thế UI ChatGPT, và cũng dễ dùng làm frontend cho hệ thống LLM tự vận hành
- Thông thường nhóm Mozilla có lẽ đã dùng một dự án như chatbot-ui, nhưng vì có sẵn mã chatbot thử nghiệm nội bộ Companion cùng tác giả của nó, họ dùng nó làm UI
- Nhờ Companion, họ có thể lặp và thử nghiệm UI nhanh chóng
Kết quả hackathon và các vấn đề còn lại
- Khi hackathon kết thúc, nhóm Mozilla đã hoàn thành nguyên mẫu chatbot dùng nội bộ
- Được hosting hoàn toàn bên trong Mozilla
- Có thể sử dụng một cách an toàn và riêng tư
- Cố gắng phản ánh các giá trị của Mozilla trong hành vi
- Quá trình đạt được mục tiêu đòi hỏi nhiều lựa chọn và thỏa hiệp khó khăn
- Những điều học được có thể tóm tắt thành ba điểm
- Chatbot mã nguồn mở vẫn đang phát triển, có nhiều thứ phải quyết định, thiếu tài liệu rõ ràng và cũng có nhiều cách để thất bại
- Việc đánh giá và chọn mô hình theo các tiêu chí ngoài hiệu năng thô là quá khó, nên việc đưa ra lựa chọn đúng cho ứng dụng AI đáng tin cậy cũng khó
- Ở thời điểm hiện tại, prompt engineering hiệu quả rất quan trọng đối với thành công của chatbot
- Mozilla đã bắt đầu xây dựng cách để nhà phát triển dễ gia nhập hệ sinh thái machine learning mã nguồn mở hơn, và dự định đóng góp cho cộng đồng mã nguồn mở dựa trên công việc ở hackathon
- Trong bối cảnh LLM mã nguồn mở được cung cấp rộng rãi, để tạo ra một tương lai tốt đẹp hơn, tất cả chúng ta cần tham gia định hình nó một cách tập thể và chủ động
1 bình luận
Ý kiến trên Hacker News
Việc tôi muốn liên hệ với doanh nghiệp là vì tôi không tìm được câu trả lời trên trang web, hoặc cần nhờ người phụ trách làm một việc không thể thực hiện trên website. Ví dụ như hủy dịch vụ
Một trang FAQ biết nói trông giống như nỗ lực vá víu trải nghiệm người dùng còn thiếu sót, và nếu doanh nghiệp không đưa thông tin tôi đang tìm vào website thì khả năng cao họ cũng không đưa vào chatbot
Dù chatbot có thể giúp kết nối tới người phụ trách phù hợp, tôi cho rằng dựng nó thành rào cản trước khi được con người hỗ trợ là một antipattern
Vì vậy nhiều trang hiển thị hàng loạt câu hỏi gợi ý các câu trả lời liên quan dựa trên mô tả trước khi cho liên hệ đội hỗ trợ, AWS Support cũng làm như vậy
Bot có thể gây khó chịu, nhưng cũng có thể giảm đáng kể chi phí hỗ trợ khách hàng. Nếu trải nghiệm người dùng tốt, và khi bot không trả lời được thì có thể nhanh chóng chuyển sang nhân viên tư vấn, tôi ủng hộ. Tất nhiên với điều kiện bot không bị ảo giác rồi nói ra thông tin giả
Tôi dùng chatbot vì không có nhân sự hỗ trợ để trả lời câu hỏi. Không có bot thì xem như chẳng có gì
Thay vào đó tôi theo dõi log của bot. Nếu sản phẩm hoặc website thiếu tính năng nào, tôi bổ sung để về sau người dùng có thể tự phục vụ hoàn toàn
Người dùng có thể hủy tài khoản hoặc nhận hoàn tiền bất cứ lúc nào
Với những câu hỏi như vậy, mô hình ngôn ngữ lớn gần như hoàn toàn phù hợp. Tuy vậy sẽ tốt hơn nếu bot được cải thiện để phát hiện tốt hơn những câu hỏi mà nó không thể tự trả lời
Tất nhiên có những trường hợp chatbot có thể thay thế con người hoặc một FAQ được viết tốt. Nhưng sự tự mãn kiểu này bỏ qua lý do chính khiến hỗ trợ tệ hại: ngay từ đầu nó đã được thiết kế như vậy
Lấy ví dụ “chỉ có thể hủy qua điện thoại”: đăng ký hay upsell là các vấn đề khó hơn về mặt kỹ thuật, nhưng lại được làm dễ hơn rất nhiều. Mục tiêu là thêm ma sát vào những hành động bị xem là chi phí hoặc tổn thất ngắn hạn. Doanh nghiệp biết rằng khi có ma sát, nhiều người sẽ bỏ cuộc hoặc trì hoãn
Đây là một mô hình của nudge và dark pattern. Cứ nhìn cách nút “từ chối tất cả” trên banner cookie hầu hết bị giấu đi là thấy. Nudge cho phép doanh nghiệp trông như đang tuân thủ luật, nhưng vẫn né tránh hiệu quả tổng thể bằng cách bắt người dùng trả giá bằng thời gian và sự chú ý
Chatbot chỉ là thêm một lớp nữa vào mê cung hỗ trợ
Tôi hoàn toàn không mong chờ tương lai mà mọi doanh nghiệp đều có hỗ trợ bằng chatbot
Chuyện này đã khá phổ biến và gây bực bội rồi, nhưng dù sao khoảng một nửa số bot vẫn biết rằng chúng không hiểu câu hỏi, nên vẫn còn lối thoát để gặp người
Kỷ nguyên “máy tính nói là không được” đã đến rồi
Nói thêm, tôi không có ý chỉ nói tiêu cực và lạc đề; bản thân bài viết trông khá hay. Xin vỗ tay cho tác giả. Phần kỹ thuật rất tuyệt, tôi chỉ ghét cách nó được dùng trong thực tế
Chatbot không phải vạn năng, nhưng có thể giảm rất nhiều nhiễu không cần thiết. Thứ cần có là một cái gì đó có thể trả lời các câu hỏi cơ bản mà người dùng trung bình trong một miền cụ thể thường hỏi
Công ty trước đây của tôi khá lớn và instance Confluence cực kỳ đồ sộ. Tôi đã lãng phí rất nhiều thời gian để tìm thông tin trong đó. Nếu có một chatbot được huấn luyện trên toàn bộ thông tin ấy thì hẳn đã khá hữu ích
Tôi nghĩ đến Amazon. Tôi đã là khách hàng lâu năm, và gần đây nhận được một thiết bị ngoại vi máy tính bị lỗi
Tôi mô tả ngắn gọn vấn đề với chatbot, nó lập tức tạo đơn hàng mới, nói rằng tôi cứ giữ món đã nhận, và món thay thế sẽ được giao ưu tiên mà không mất thêm phí
Chỉ có vậy, và hôm sau hàng đến, hoạt động tốt
Tất nhiên họ hẳn biết tôi là khách hàng lâu năm và đã tiêu khá nhiều tiền, nhưng đó gần như là trải nghiệm ít đau đớn nhất có thể tưởng tượng. Nó tốt hơn nhiều so với việc phải bấm qua nhiều lựa chọn trên nhiều trang web
“Thưa tòa, toàn bộ lập luận của tôi là nhảm nhí và đã trích dẫn những điều luật không tồn tại, nhưng đó là vì tôi dùng ChatGPT” — đây là một luật sư có thật, và thậm chí còn không bị tước giấy phép hành nghề
Cách nói “đã đang thay đổi web mà chúng ta từng biết và yêu mến” là bắt bẻ câu chữ và rõ ràng lạc đề, nhưng tôi không yêu web hiện nay
Web ngày càng bị một số ít công ty kiểm soát. Họ quyết định nội dung nào được nhìn thấy (Meta, Google), email nào bị đưa vào bộ lọc spam (MS, Google)
Web hiện nay còn xa mới đáng yêu. Tôi phải liên tục đấu tranh chỉ để tiếp cận cả những người đã chọn theo dõi tôi
Cuối cùng, phần lớn giao tiếp của tôi diễn ra ngoài đời thực hoặc trong các cuộc chat riêng. Nhân tiện, tôi cũng muốn nói rằng messenger dành cho doanh nghiệp tệ hại và bất ổn đến mức nào
Web ngày nay cần có điều gì đó xảy ra. Tôi không biết là gì, hay bằng cách nào, nhưng chắc chắn tôi hoan nghênh sự thay đổi
Bạn vẫn nên cung cấp tất cả các cách khác để mọi người có thể theo dõi, nhưng nếu quảng bá RSS feed thì mọi người có thể bắt đầu dùng
Nếu muốn thử về mặt kỹ thuật, bạn có thể thiết lập một bridge ActivityPub để người dùng cũng có thể theo dõi trên mạng xã hội. Nếu dùng Wordpress thì có https://wordpress.org/plugins/activitypub/
Nếu nói vì có vẻ hầu hết bình luận cấp cao nhất đều tiêu cực về chatbot, thì ở chỗ làm của tôi thực sự từng có một chatbot rất tốt
Với tôi, nó tốt hơn nhiều so với việc tìm kiếm trên Confluence, và còn trả lời được các câu hỏi liên quan đến dữ liệu động như số ngày nghỉ phép còn lại hay thời gian làm việc đang vượt hoặc thiếu bao nhiêu
Theo tôi nhớ thì phía sau họ dùng công nghệ khá khéo, nên hỏi bằng ngôn ngữ tự nhiên thì hầu như nó đều hiểu
Tìm kiếm của Confluence đúng là một trò đùa, mà còn là một trò đùa tệ
Khách hàng dùng chatbot là vì UI của website gây rối rắm. Họ muốn lấy thông tin nhưng không tìm được cách
Trước đây người ta tìm trên Google “tên dịch vụ + số điện thoại” hoặc “tên dịch vụ + hủy đăng ký”
Chín trên mười lần là website không muốn dễ dàng đưa số điện thoại hoặc giúp hủy đăng ký dễ dàng. Nếu ngay từ đầu bạn không muốn khách hàng thực hiện hành động mà mình đã cố tình giấu đi, thì rốt cuộc chatbot dùng để làm gì?
Tôi từng làm trong làn sóng chatbot, và đã phải nói với nhiều khách hàng doanh nghiệp rằng nếu họ không có ý định thực sự giúp khách hàng, thì chúng tôi cũng chẳng làm được bao nhiêu
Ít nhất với các doanh nghiệp phục vụ con người, mục tiêu thật sự của chatbot là đẩy UI web và ứng dụng di động ra khỏi điểm tiếp xúc đầu tiên
Người dùng nên có thể trò chuyện với doanh nghiệp bằng một danh tính duy nhất qua SMS, một hình thức chat tương tự, hoặc cuộc gọi điện thoại
Web và ứng dụng di động chỉ là các tiện ích bậc hai, bậc ba để bổ trợ cho phương thức giao tiếp mặc định
Lý do trước đây doanh nghiệp không làm được việc này là vì độ chính xác trong hiểu ngôn ngữ chưa đủ. Các mô hình ngôn ngữ lớn đã giải quyết giới hạn đó
Việc bot giảm bớt phần nào tương tác với nhân viên hỗ trợ theo kinh nghiệm chỉ là phần cộng thêm. Nhờ các mô hình ngôn ngữ lớn tốt hơn, tỷ lệ tránh chuyển tiếp sang người thật cũng đang tăng dần
Widget chatbot khó chịu nằm ở góc dưới bên phải chỉ là giải pháp tạm thời cho đến khi có một số điện thoại duy nhất và việc giao tiếp qua đó trở nên trơn tru
Cuối cùng, tiêu đề gây hiểu nhầm. Ý không phải là tạo một chatbot mã nguồn mở, mà là tạo chatbot chỉ bằng thư viện mã nguồn mở thay vì công cụ đóng/thương mại, vì cộng đồng và vì sự phát triển AI nhanh hơn
Bài viết nói: “Chúng tôi đã dựng một máy chủ ảo riêng trong tài khoản Google Cloud Platform(GCP) hiện có của Mozilla. Như vậy về thực chất là chúng tôi quyết định tự làm MLOps. Nhưng chúng tôi có thể tiến bước với niềm tin rằng hệ thống là riêng tư và hoàn toàn nằm trong sự kiểm soát của chúng tôi”. Vậy việc dựng máy chủ trong hạ tầng Google thì riêng tư và nằm dưới toàn quyền kiểm soát của Mozilla ở chỗ nào?
Việc giải thích đến tận cách tự host trên bare metal nằm ngoài phạm vi một bài viết xây dựng chatbot, và giả vờ như VPS của Google Cloud không an toàn thì hơi gượng ép
ISO 27001 là tiêu chuẩn quốc tế về hệ thống quản lý an toàn thông tin, và việc GCP tuân thủ tiêu chuẩn này thể hiện cam kết về bảo vệ thông tin
ISO 27017 chuyên về bảo mật đám mây, tập trung vào các biện pháp kiểm soát dành riêng cho nhà cung cấp dịch vụ đám mây
ISO 27018 là tiêu chuẩn liên quan đến bảo vệ thông tin định danh cá nhân trên đám mây công cộng
Báo cáo SOC 2 có thể cung cấp sự đảm bảo về các biện pháp kiểm soát liên quan đến bảo mật, tính sẵn sàng, tính toàn vẹn xử lý, tính bảo mật và quyền riêng tư
Nếu xử lý thông tin y tế thì cần tuân thủ HIPAA, còn nếu xử lý dữ liệu của châu Âu hoặc công dân châu Âu thì tuân thủ GDPR là quan trọng
Với khách hàng là chính phủ Mỹ, tuân thủ FedRAMP có thể là bắt buộc, còn nếu xử lý thông tin thẻ tín dụng thì tuân thủ PCI DSS là quan trọng
Cần kiểm tra xem các dịch vụ định dùng trong GCP có nằm trong phạm vi chứng nhận cần thiết cho ngành hoặc trường hợp sử dụng đó hay không. Những chứng nhận này thường có thể xem trên website Google Cloud, và nếu cần tài liệu chính thức thì cũng có thể nhận qua bộ phận kinh doanh hoặc hỗ trợ của Google
Nếu tò mò thực tế phải tạo một mô hình chat dùng cơ sở dữ liệu vector như thế nào, trong buổi livestream tuần trước tôi đã trình bày quá trình xây gần như từ đầu trong môi trường Colab và suy luận bằng Llama 2 https://www.youtube.com/live/kBB1A2ot-Bw?feature=share
Thách thức lớn của cấu hình này là thực hiện tìm kiếm tương đồng ngữ nghĩa ở quy mô lớn. Pinecone có tài liệu khá tốt về cấu trúc dữ liệu để mở rộng cơ sở dữ liệu vector lớn
Tôi đã chờ Mozilla tham gia xu hướng này và phát triển mô hình ngôn ngữ lớn của riêng họ. Nghĩ đến sứ mệnh của tổ chức là “giữ cho Internet luôn mở và có thể tiếp cận với mọi người” thì điều đó rất hợp lý. Chỉ là không biết họ có tài nguyên hoặc ý chí để làm hay không
Bài viết nói: “Có lý do khiến vận hành machine learning, tức MLOps, là một lĩnh vực đang phát triển. Việc triển khai và quản lý các ứng dụng kiểu này rất khó. Nó đòi hỏi những kiến thức và kỹ năng cụ thể mà nhiều nhà phát triển và người vận hành vẫn chưa có”. Vậy điều gì khiến nó khó hoặc khác biệt đến vậy?
Tôi vẫn hiểu đây là chạy một web API tải model, vốn là một tài sản đã biên dịch. Nhìn ở khía cạnh đó thì có vẻ không khác biệt nhiều