[Papers Notes] Agent Laboratory: Sử dụng Multi-agents LLMs Based như Research Assistants
Trong hành trình thúc đẩy khám phá khoa học, các nhà nghiên cứu luôn tìm kiếm những cách mới để tinh giản quy trình làm việc và tập trung vào các khía cạnh sáng tạo nhất của công việc. Agent Laboratory, một framework mới lạ, nổi lên như một giải pháp đầy hứa hẹn, khai thác sức mạnh của các Mô hình Ngôn ngữ Lớn (LLMs) để hoạt động như các trợ lý nghiên cứu tự động. Hệ thống mã nguồn mở này nhằm giảm chi phí nghiên cứu, nâng cao chất lượng nghiên cứu và tăng tốc đáng kể toàn bộ quy trình nghiên cứu, từ ý tưởng ban đầu đến xuất bản cuối cùng.
Cách hoạt động của Agent Laboratory
Cốt lõi của Agent Laboratory là một quy trình tự động lấy ý tưởng nghiên cứu do con người cung cấp và thực thi nó thông qua một chuỗi các agent LLM chuyên biệt. Quy trình được chia thành ba giai đoạn chính:
- Literature Review
- Experimentation
- Report Writing
Literature Review
Giai đoạn Literature Review là bước đầu tiên trong quy trình nghiên cứu của Agent Laboratory và đóng vai trò trong việc xây dựng nền tảng vững chắc cho các giai đoạn thực nghiệm và viết báo cáo. Giai đoạn này sẽ được thực hiện bởi một Agent PhD, mục tiêu thu thập và sắp xếp các bài báo nghiên cứu liên quan đến ý trưởng nghiên cứu được cung cấp.
Quy trình có tính lặp lại và bao gồm một số bước:
- Tìm kiếm ban đầu: Agent PhD bắt đầu bằng cách sử dụng API của arXiv để truy xuất các bài báo nghiên cứu liên quan đến ý tưởng nghiên cứu ban đầu do người dùng cung cấp. Agent tạo một truy vấn tìm kiếm và lấy về phần tóm tắt của 20 bài báo hàng đầu phù hợp với truy vấn.
- Thu thập tóm tắt: Agent sử dụng lệnh SUMMARY để lấy tóm tắt của 20 bài báo này. Hành động này giúp agent nhanh chóng đánh giá mức độ liên quan của từng bài báo.
- Trích xuất toàn văn: Nếu một bài báo có phần tóm tắt triển vọng, agent sử dụng lệnh FULL_TEXT để trích xuất nội dung đầy đủ của bài báo đó. Agent cần ID của bài báo trên arXiv để thực hiện hành động này.
- Thêm bài báo: Sau khi xem xét phần tóm tắt và toàn văn của các bài báo, agent sử dụng lệnh ADD_PAPER để thêm các bài báo liên quan vào danh sách đánh giá đã được sắp xếp. Lệnh này bao gồm ID arXiv của bài báo và một bản tóm tắt ngắn gọn. Mỗi lần chỉ có thể thêm một bài báo vào danh sách.
- Quy trình lặp: Quy trình này không phải là một bước duy nhất mà được lặp đi lặp lại. Agent PhD thực hiện nhiều truy vấn, đánh giá mức độ liên quan của từng bài báo dựa trên nội dung và tinh chỉnh sự lựa chọn của mình để xây dựng một danh sách đánh giá toàn diện. Agent tiếp tục quy trình này cho đến khi đạt số lượng văn bản liên quan được xác định trước, được gọi là tham số N=max.
- Hoàn thiện: Khi số lượng bài báo liên quan yêu cầu đã được thêm vào, danh sách đánh giá đã sắp xếp được hoàn thiện và chuyển sang các giai đoạn tiếp theo của quy trình Agent Laboratory.
Experimentation
Giai đoạn Thực nghiệm là phần cốt lõi trong quy trình làm việc của Agent Laboratory, tập trung vào việc chuyển đổi một kế hoạch nghiên cứu thành kết quả thực nghiệm cụ thể. Giai đoạn này được tự động hóa cao, sử dụng nhiều agent và công cụ chuyên biệt để thực hiện các tác vụ phức tạp liên quan đến học máy (machine learning). Giai đoạn Thực nghiệm được chia thành các giai đoạn sau:
-
Lập Kế Hoạch (Plan Formulation):
- Phối hợp: Các agent PhD và Postdoc hợp tác thông qua đối thoại để xây dựng một kế hoạch nghiên cứu chi tiết, khả thi, dựa trên đánh giá tài liệu và mục tiêu nghiên cứu.
- Xác định chi tiết: Kế hoạch chỉ rõ cách thực hiện mục tiêu nghiên cứu, bao gồm các thành phần thực nghiệm như mô hình học máy, bộ dữ liệu cần sử dụng, và các bước thực nghiệm cấp cao.
- Đồng thuận và gửi kế hoạch: Khi đạt được đồng thuận, agent Postdoc gửi kế hoạch bằng lệnh plan command, đóng vai trò là tập hợp các hướng dẫn cho các tác vụ tiếp theo.
-
Chuẩn Bị Dữ Liệu (Data Preparation):
- Thực hiện mã hóa: Agent ML Engineer viết mã chuẩn bị dữ liệu theo hướng dẫn từ kế hoạch.
- Tìm kiếm bộ dữ liệu: Agent sử dụng lệnh search HF để truy cập các bộ dữ liệu từ nền tảng Hugging Face.
- Kiểm tra và gửi mã: Sau khi hoàn thiện mã, agent SW Engineer sử dụng lệnh submit code để nộp. Trước khi nộp, mã được biên dịch bằng trình biên dịch Python để đảm bảo không có lỗi. Quy trình này được thực hiện lặp đi lặp lại cho đến khi mã không còn lỗi.
-
Thực Hiện Thí Nghiệm (Running Experiments):
- Thực hiện kế hoạch: Agent ML Engineer triển khai và thực hiện kế hoạch thực nghiệm với sự hỗ trợ của module chuyên biệt mle-solver.
- Sinh mã ban đầu: Mle-solver bắt đầu tạo mã từ đầu dựa trên kế hoạch và thông tin từ đánh giá tài liệu.
- Tinh chỉnh mã:
- Lệnh EDIT chỉnh sửa một phạm vi dòng mã bằng cách thay thế đoạn mã hiện có bằng đoạn mã mới.
- Lệnh REPLACE thay thế toàn bộ file Python bằng file mới.
- Kiểm tra mã: Sau khi tạo mã, trình biên dịch sẽ kiểm tra lỗi runtime. Nếu biên dịch thành công, mã sẽ được chấm điểm và so sánh với các chương trình khác trong danh sách top. Nếu không thành công, agent sửa mã trong 3 lần thử trước khi thay thế mã mới.
- Chấm điểm: Mã được đánh giá bằng mô hình thưởng LLM, dựa trên kế hoạch nghiên cứu, đoạn mã được sinh ra, và kết quả thực nghiệm. Điểm được tính trên thang từ 0 đến 1.
- Tự phản hồi (Self-Reflection): Mle-solver sử dụng cơ chế tự phản hồi để cải thiện các lần chạy sau.
- Ổn định hiệu suất: Mle-solver duy trì một danh sách các chương trình có hiệu suất cao nhất và thực hiện tối ưu hóa lặp để đảm bảo kết quả ổn định.
-
Diễn Giải Kết Quả (Results Interpretation):
- Thảo luận: Các agent PhD và Postdoc thảo luận để hiểu ý nghĩa của kết quả thực nghiệm từ mle-solver.
- Đưa ra kết luận: Khi đạt được một kết luận có thể đóng góp vào bài báo khoa học, agent Postdoc sử dụng lệnh interpretation command để gửi diễn giải, làm cơ sở cho giai đoạn viết báo cáo.
Writing Report
À thì đến đây mình hơi lười viết một xíu nên sẽ tóm tắt nhanh ở đoạn này:
Ở đây thì nó sẽ có một module chuyên biệt để xử lý có tên là paper-solver, hoạt động theo cách lặp để tạo và tinh chỉnh báo cáo. Mục tiêu của paper-solver không phải là thay thế hoàn toàn quá trình viết báo cáo của con người, mà là tóm tắt nghiên cứu dưới dạng dễ đọc và dễ hiểu.
Ở trong module này sẽ có một số giai đoạn sau:
- Initial Report Scaffold: Tạo khung báo cáo cáo cho nghiên cứu, fill dần những đầu mục chính
- ArXiv Research: Module truy cập thêm tài liệu ngoài để có thể tham khảo
- Report Editing: Điều chỉnh nội dung bài báo cho phù hợp và kiểm tra các vấn đề về mặt trình bày
- Paper Review: Sử dụng một số phương án đánh giá tự động như LLM, hay hê thông tự động được phát triển sẵn
- Paper Refinement: Mô phỏng nhận xét và chỉnh sửa thêm
Conclusion
Bài viết này tập trung chủ yếu đến các giao thức tác vụ của các Agent trong một luông pipeline lớn. Một thông tin quan trongj là Agent Laboratory sẽ hiệu quả nhất cho các bài viết liên quan đến Machine Learning. Tất nhiên là ở mỗi quy trình đều có rất nhiều điểm yếu và có khả năng scale trong tương lai. Khuyến khích mọi người mò vào paper để tham khảo prompt :> .
References
All rights reserved