NinjaTech AI: Tương lai của các tác nhân năng suất với NinjaLLM và AWS Trainium
Mục lục
- 1. Giới thiệu về NinjaTech AI
- 2. Xây dựng bộ dữ liệu
- 3. Điều chỉnh tốt trên Trainium
- 4. Đánh giá mô hình
- 5. Công việc trong tương lai
- 6. Kết luận
- 7. Về các tác giả
1. Giới thiệu về NinjaTech AI
NinjaTech AI có sứ mệnh giúp mọi người năng suất hơn bằng cách xử lý các tác vụ phức tạp, tốn thời gian với các tác nhân trí tuệ nhân tạo (AI) nhanh chóng và giá cả phải chăng. Chúng tôi đã ra mắt MyNinja.ai, một trong những trợ lý AI cá nhân đa tác nhân đầu tiên trên thế giới, để hướng tới sứ mệnh của mình. MyNinja.ai được xây dựng từ đầu sử dụng các tác nhân chuyên biệt có khả năng hoàn thành các tác vụ thay mặt bạn, bao gồm lên lịch cuộc họp, tiến hành nghiên cứu chuyên sâu từ web, tạo mã và hỗ trợ viết. Những tác nhân này có thể phân chia các tác vụ phức tạp, nhiều bước thành các giải pháp phân nhánh và có khả năng đánh giá động các giải pháp được tạo ra trong khi liên tục học hỏi từ những trải nghiệm trước đó. Tất cả các tác vụ này được thực hiện hoàn toàn tự động và bất đồng bộ, giải phóng bạn để tiếp tục công việc trong ngày trong khi Ninja làm việc ở chế độ nền và tham gia khi cần đầu vào của bạn.
2. Xây dựng bộ dữ liệu
Chúng tôi nhận ra sớm rằng để thực hiện sứ mệnh xử lý các tác vụ thay mặt người dùng, chúng tôi cần nhiều mô hình được tối ưu hóa cho các tác vụ cụ thể. Ví dụ bao gồm các mô hình Deep Researcher, Deep Coder và Advisor của chúng tôi. Sau khi thử nghiệm các mô hình mã nguồn mở có sẵn, chúng tôi cảm thấy rằng các khả năng và phản hồi ngoài hộp không đủ với kỹ thuật nhắc nhở để đáp ứng nhu cầu của chúng tôi. Cụ thể, trong thử nghiệm với các mô hình mã nguồn mở, chúng tôi muốn đảm bảo mỗi mô hình được tối ưu hóa cho kiểu nhắc nhở ReAct/chuỗi suy nghĩ. Ngoài ra, chúng tôi muốn đảm bảo rằng mô hình, khi được triển khai như một phần của hệ thống Tạo nội dung được tăng cường thu thập (RAG), sẽ trích dẫn chính xác mỗi nguồn, cũng như bất kỳ sự thiên vị nào về việc nói Tôi không biết thay vì tạo ra câu trả lời sai. Vì mục đích đó, chúng tôi đã chọn tinh chỉnh các mô hình cho các tác vụ hạ nguồn khác nhau.
Trong việc xây dựng bộ dữ liệu đào tạo của chúng tôi, mục tiêu của chúng tôi là kép: thích nghi mỗi mô hình cho tác vụ và nhân vật hạ nguồn phù hợp của nó (Nhà nghiên cứu, Cố vấn, Lập trình viên, v.v.) và thích nghi các mô hình để tuân theo cấu trúc đầu ra cụ thể. Để đạt được điều đó, chúng tôi đã tuân theo phương pháp Lima để tinh chỉnh. Chúng tôi đã sử dụng kích thước mẫu đào tạo khoảng 20 triệu mã thông báo, tập trung vào định dạng và giọng điệu của đầu ra trong khi sử dụng kích thước mẫu tương đối nhỏ nhưng đa dạng. Để xây dựng bộ dữ liệu tinh chỉnh có giám sát của chúng tôi, chúng tôi đã bắt đầu bằng cách tạo các tác vụ hạt giống ban đầu cho mỗi mô hình. Với những tác vụ hạt giống này, chúng tôi đã tạo ra một bộ dữ liệu tổng hợp ban đầu bằng cách sử dụng mô hình Llama 2 của Meta. Chúng tôi có thể sử dụng bộ dữ liệu tổng hợp để thực hiện vòng tinh chỉnh ban đầu. Để đánh giá ban đầu hiệu suất của mô hình được tinh chỉnh này, chúng tôi đã thu thập phản hồi từ người dùng để tạo thêm mẫu theo cách lặp lại. Chúng tôi cũng đã sử dụng một loạt các điểm chuẩn - nội bộ và công khai - để đánh giá hiệu suất của mô hình và tiếp tục lặp lại.
3. Điều chỉnh tốt trên Trainium
Chúng tôi đã chọn bắt đầu với các mô hình Llama cho một mô hình cơ sở được đào tạo trước vì một số lý do: đáng chú ý nhất là hiệu suất ngoài hộp tuyệt vời, hỗ trợ hệ sinh thái mạnh mẽ từ nhiều thư viện và giấy phép thực sự mã nguồn mở và cho phép. Vào thời điểm đó, chúng tôi bắt đầu với Llama 2, thử nghiệm trên các kích cỡ khác nhau (7B, 13B và 70B). Đối với đào tạo, chúng tôi đã chọn sử dụng cụm các trường hợp trn1.32xlarge để tận dụng các chip Trainium. Chúng tôi đã sử dụng cụm 32 trường hợp để song song hóa hiệu quả quá trình đào tạo. Chúng tôi cũng đã sử dụng AWS ParallelCluster để quản lý dàn dựng cụm. Bằng cách sử dụng cụm các trường hợp Trainium, mỗi lần lặp tinh chỉnh mất ít hơn 3 giờ, với chi phí dưới 1.000 đô la. Thời gian lặp nhanh và chi phí thấp này cho phép chúng tôi nhanh chóng điều chỉnh và thử nghiệm các mô hình của mình và cải thiện độ chính xác của mô hình. Để đạt được độ chính xác được thảo luận trong các phần sau, chúng tôi chỉ phải chi khoảng 30.000 đô la, tiết kiệm hàng trăm nghìn, thậm chí hàng triệu đô la nếu chúng tôi phải đào tạo trên các bộ gia tốc đào tạo truyền thống.
Sơ đồ sau minh họa kiến trúc đào tạo của chúng tôi.
Sau khi chúng tôi đã thiết lập các đường ống tinh chỉnh của mình được xây dựng trên Trainium, chúng tôi có thể tinh chỉnh và hoàn thiện các mô hình của mình nhờ các thư viện đào tạo phân tán Neuron. Điều này cực kỳ hữu ích và kịp thời, bởi vì trước khi ra mắt MyNinja.ai, các mô hình Llama 3 của Meta đã được phát hành. Llama 3 và Llama 2 có kiến trúc tương tự, vì vậy chúng tôi có thể nhanh chóng nâng cấp lên mô hình mới hơn. Tốc độ chuyển đổi này cho phép chúng tôi tận dụng những lợi ích vốn có về độ chính xác của mô hình và rất nhanh chóng chạy qua một vòng tinh chỉnh khác với trọng số Llama 3 và chuẩn bị cho việc ra mắt.
4. Đánh giá mô hình
Để đánh giá mô hình, có hai mục tiêu: đánh giá khả năng của mô hình trong việc trả lời các câu hỏi của người dùng và đánh giá khả năng của hệ thống trong việc trả lời các câu hỏi với các nguồn được cung cấp, bởi vì đây là giao diện chính của trợ lý AI cá nhân của chúng tôi. Chúng tôi đã chọn bộ dữ liệu HotPotQA và Natural Questions (NQ) Open, cả hai đều phù hợp vì bộ dữ liệu đánh giá so sánh mở của chúng với bảng xếp hạng công khai.
Chúng tôi đã tính toán độ chính xác bằng cách so sánh câu trả lời của mô hình với câu trả lời dự kiến, sử dụng 10 đoạn văn bản hàng đầu được thu thập từ kho lưu trữ Wikipedia. Chúng tôi đã thực hiện lọc nội dung và xếp hạng bằng cách sử dụng ColBERTv2, một mô hình thu thập dựa trên BERT. Chúng tôi đã đạt được độ chính xác 62,22% trên bộ dữ liệu NQ Open và 58,84% trên HotPotQA bằng cách sử dụng mô hình RAG Llama 3 nâng cao của chúng tôi, chứng minh những cải thiện đáng kể so với các mô hình cơ sở khác. Hình sau tóm tắt kết quả của chúng tôi.
5. Công việc trong tương lai
Nhìn về phía trước, chúng tôi đang làm việc trên một số phát triển để tiếp tục cải thiện hiệu suất và trải nghiệm người dùng của mô hình. Đầu tiên, chúng tôi dự định sử dụng ORPO để tinh chỉnh các mô hình của mình. ORPO kết hợp tinh chỉnh truyền thống với sự phù hợp ưu tiên, trong khi sử dụng một bộ dữ liệu phù hợp ưu tiên duy nhất cho cả hai. Chúng tôi tin rằng điều này sẽ cho phép chúng tôi liên kết tốt hơn các mô hình để đạt được kết quả tốt hơn cho người dùng.
Ngoài ra, chúng tôi dự định xây dựng một mô hình tổng hợp tùy chỉnh từ nhiều mô hình mà chúng tôi đã tinh chỉnh cho đến nay. Lấy cảm hứng từ kiến trúc mô hình Hỗn hợp chuyên gia (MoE), chúng tôi dự định giới thiệu một lớp định tuyến cho các mô hình khác nhau của mình. Chúng tôi tin rằng điều này sẽ đơn giản hóa đáng kể kiến trúc phục vụ và mở rộng mô hình của chúng tôi, đồng thời duy trì chất lượng trong các tác vụ khác nhau mà người dùng của chúng tôi mong đợi từ trợ lý AI cá nhân của mình.
6. Kết luận
Xây dựng các tác nhân AI thế hệ tiếp theo để giúp mọi người năng suất hơn là con đường của NinjaTech AI để đạt được sứ mệnh của mình. Để dân chủ hóa quyền truy cập vào công nghệ biến đổi này, điều quan trọng là phải có quyền truy cập vào máy tính hiệu năng cao, các mô hình mã nguồn mở và một hệ sinh thái các công cụ giúp đào tạo mỗi tác nhân mới có giá cả phải chăng và nhanh chóng. Các chip AI được chế tạo đặc biệt của AWS, quyền truy cập vào các mô hình mã nguồn mở hàng đầu và kiến trúc đào tạo của nó giúp điều này trở thành hiện thực.
Để tìm hiểu thêm về cách chúng tôi đã xây dựng AI cá nhân đa tác nhân của NinjaTech AI, bạn có thể đọc sách trắng của chúng tôi. Bạn cũng có thể thử các tác nhân AI này miễn phí tại MyNinja.ai.
7. Về các tác giả
* Arash Sadrieh là Đồng sáng lập và Giám đốc Khoa học tại Ninjatech.ai. Arash đồng sáng lập Ninjatech.ai với tầm nhìn giúp mọi người năng suất hơn bằng cách xử lý các tác vụ tốn thời gian với các tác nhân AI. Tầm nhìn này được hình thành trong thời gian ông làm Khoa học gia Ứng dụng Cấp cao tại AWS, nơi ông đã thúc đẩy các sáng kiến nghiên cứu chính giúp cải thiện hiệu quả cơ sở hạ tầng trong hơn sáu năm, giúp ông nhận được nhiều bằng sáng chế cho việc tối ưu hóa cơ sở hạ tầng cốt lõi. Bối cảnh học thuật của ông bao gồm Tiến sĩ về mô hình hóa và mô phỏng máy tính, với sự hợp tác với các tổ chức danh tiếng như Đại học Oxford, Đại học Sydney và CSIRO. Trước khi làm việc trong ngành, Arash đã có một nhiệm kỳ nghiên cứu sau tiến sĩ được đánh dấu bởi các ấn phẩm trên các tạp chí có ảnh hưởng cao, bao gồm Nature Communications.
* Tahir Azim là Kỹ sư phần mềm cao cấp tại NinjaTech. Tahir tập trung vào các nền tảng đào tạo và suy luận dựa trên Inf2 và Trn1 của NinjaTech, cổng thông tin thống nhất để truy cập vào các nền tảng này và kỹ năng nghiên cứu dựa trên RAG của nó. Trước đây, ông đã làm việc tại Amazon với tư cách là kỹ sư phần mềm cao cấp, xây dựng các hệ thống dựa trên dữ liệu để sử dụng tối ưu cơ sở hạ tầng cạnh mạng Internet toàn cầu của Amazon, giảm chi phí, tắc nghẽn và độ trễ. Trước khi chuyển sang ngành công nghiệp, Tahir đã nhận bằng Thạc sĩ và Tiến sĩ Khoa học Máy tính từ Đại học Stanford, dạy học trong ba năm với tư cách là trợ lý giáo sư tại NUST (Pakistan) và làm nghiên cứu sau tiến sĩ về các hệ thống phân tích dữ liệu nhanh tại EPFL. Tahir đã viết một số ấn phẩm được trình bày tại các hội nghị hàng đầu như VLDB, USENIX ATC, MobiCom và MobiHoc.
* Tengfei Xue là Khoa học gia Ứng dụng tại NinjaTech AI. Các lĩnh vực nghiên cứu hiện tại của ông bao gồm xử lý ngôn ngữ tự nhiên và học đa phương thức, đặc biệt là sử dụng các mô hình ngôn ngữ lớn và các mô hình đa phương thức lớn. Tengfei đã hoàn thành nghiên cứu Tiến sĩ của mình tại Trường Khoa học Máy tính, Đại học Sydney, nơi ông tập trung vào học sâu cho chăm sóc sức khỏe bằng cách sử dụng nhiều phương thức khác nhau. Ông cũng là ứng viên Tiến sĩ thỉnh giảng tại Phòng thí nghiệm Toán học trong Hình ảnh (LMI) tại Đại học Harvard, nơi ông làm việc về thị giác máy tính 3D cho dữ liệu hình học phức tạp.

0 comments Blogger 0 Facebook
Đăng nhận xét