AssistGPT: Trợ lý đa phương thức thông minh có thể Lập kế hoạch, Thực thi, Kiểm tra và Học hỏi
Mục lục
- Giới thiệu
- Phương pháp kết hợp nhiều chuyên gia lĩnh vực khác nhau
- 2.1 Quy hoạch dựa trên ngôn ngữ
- 2.2 Quy hoạch dựa trên mã
- AssistGPT
- 3.1 Planner
- 3.2 Executor
- 3.3 Inspector
- 3.4 Learner
- Kết quả thực nghiệm
- 4.1 Thiết lập thực nghiệm
- 4.2 Kết quả định lượng
- 4.3 Kết quả định tính
2. Phương pháp kết hợp nhiều chuyên gia lĩnh vực khác nhau
Để giải quyết những nhiệm vụ phức tạp hơn, một phương pháp tiềm năng là kết hợp nỗ lực của nhiều chuyên gia lĩnh vực khác nhau, chẳng hạn như các mô hình chuẩn bị trước (pretrained models) hoặc các API. Một số nỗ lực đã được thực hiện trong lĩnh vực này, bằng cách sử dụng ngôn ngữ để kết nối mô hình thị giác và xử lý tác vụ có tính phức tạp. Tuy nhiên, đối với các tình huống thị giác phức tạp hơn, kết quả văn bản thu được thường chứa quá nhiều thông tin không cần thiết, bỏ qua những chi tiết quan trọng trực tiếp trả lời câu hỏi.
Một phương pháp khác h involves breaking down your questions into smaller tasks and calling external models or APIs sequentially to address them. Các phương pháp hiện tại có thể chia thành Hai thể loại chính: quy hoạch dựa trên ngôn ngữ và quy hoạch dựa trên mã. các phương pháp này tối ưu hóa tài nguyên tính toán bằng cách đảm bảo mô hình chỉ được gọi khi cần thiết. Tuy nhiên, ngay cả với những tiến bộ này, việc định mức câu hỏi cấp cao vẫn là một nhiệm vụ khó khăn. Các bài kiểm tra hiện có thường chỉ cung cấp những gợi ý về quy trình tư duy. Đối với các câu hỏi phức tạp, việc lường rõ con đường tư duy đòi hỏi phụ thuộc vào cách thông tin được trình bày. Đó là lý do tại sao chúng tôi đề xuất hệ thống trợ lý AI đa phương thức gọi là AssistGPT.
3. AssistGPT
AssistGPT là một hệ thống trợ lý AI đa phương thức có khả năng hoàn thành nhiều nhiệm vụ liên quan đến đa phương thức bằng cách kết hợp các mô hình khác nhau. Hệ thống này bao gồm bốn thành phần: Planner, Executor, Inspector và Learner.
3.1 Planner
Planner giống như một nhà chỉ đạo trong một dàn nhạc, kiểm soát toàn bộ quá trình giải quyết vấn đề. Nó nhận ba loại đầu vào: Instruction Prompt, Input Query và Summary of Visual Inputs. Planner sau đó tạo ra một đầu ra bao gồm một Thought và một Action. Thought là một cụm từ ngôn ngữ chỉ ra bước tiếp theo trong quá trình. Action, å å ånt hoặc, là một chuỗi có cấu trúc tuân theo một mẫu đã được xác định trước. Action rõ ràng chỉ định mô-đun ngoại vi ngoại vi phía ngoài sẽ được sử dụng và các đối số cần nhập, ví dụ như câu hỏi về hình ảnh như "màu sắc của chiếc xe là gì?" đến công cụ văn bản.
3.2 Executor
Executor chủ yếu nhận mã được tạo ra bởi Planner như đầu vào, sau đó dùng nó để tạo ra kết quả cuối cùng. Điều này bao gồm ba bước quan trọng: kiểm tra hợp lệ, thực thi mô-đun và xử lý sau khi thực hiện. Với kiểm tra hợp lệ, Executor bắt đầu quá trình với việc kiểm tra tính hợp lệ. Mặc dù những khả năng tiên tiến của các mô hình ngôn ngữ lớn như GPT-4, luôn có khả năng chúng có thể tạo ra mã sai hoặc không tương thích. Ví dụ như khi một mô-đun phụ chụp ảnh cố gắng xử lý một video dài. Để khắc phục những vấn đề này, chúng tôi đã thiết kế một kiểm tra tính hợp lệ cho mỗi mô-đun. Như vậy, chúng tôi có thể xác định xem mã có thể được thực thi mà không gây ra bất kỳ lỗi nào hay không. Nếu mã chứa lỗi, chúng tôi không hoàn toàn dừng quá trình tư duy. Thay vào đó, chúng tôi trả về một thông báo lỗi làm mã đầu ra cho Planner, từ đó giúp tối ưu quá trình lập kế hoạch theo thời gian thực.
3.3 Inspector
Inspector giữ vai trò quản lý đầu vào hình ảnh từ người dùng cũng như các kết quả trung gian mà hệ thống của chúng tôi tạo ra. Đây là người giúp đỡ của Planner để đưa ra quyết định về nguồn nào sẽ được đưa tới mô-đun nào. Cụ thể, Inspector theo dõi metadata của từng yếu tố hình ảnh. Các metadata này bao gồm loại yếu tố hình ảnh, liệu yếu tố đó có phải là ảnh hay video và mô tả ngắn gọn về nội dung của nó. Mô tả này có thể được thu thập từ mô hình phụ đề hoặc, trong trường hợp của video trực tuyến, tiêu đề của video. Đối với video, Inspector thu thập thêm thông tin như thời lượng của video và liệu nó có âm thanh và phụ đề hay không. Inspector theo dõi cả đầu vào từ người dùng và các đầu ra từ Executor. Mỗi khi nhận một yếu tố hình ảnh mới, nó gắn kết metadata tương ứng, đã được đề cập là 'Summary', vào lịch sử tư duy của Planner.
3.4 Learner
Chúng tôi triển khai thành phần "Learner" để giải quyết các vấn đề tiềm năng mà hệ thống AssistGPT của chúng tôi có thể gặp phải khi xử lý các câu hỏi đa phương thức. Chức năng Learner giúp trí tuệ nhân tạo tự đánh giá và xác minh tính hợp lý của kết quả đầu ra của nó, quan trọng để tránh các lỗi. Hơn nữa, nếu có câu trả lời đúng (gọi là đúng nghiệm) được cung cấp, hệ thống của chúng tôi sẽ cố gắng thu thập các dự đoán thành công này để sử dụng như các ví dụ trong ngữ cảnh trong tương lai. Thực tế, AssistGPT sẽ tiếp tục cố gắng tạo ra những phản hồi đáng hài lòng. Nó sẽ tiếp tục làm như vậy cho đến khi nó tự xác nhận kết quả, cung cấp câu trả lời chính xác (nếu có đúng nghiệm) hoặc đạt đến giới hạn định trước về số lần cố gắng.
4. Kết quả thực nghiệm
Chúng tôi đã tiến hành một số thử nghiệm để kiểm tra khả năng của hệ thống của chúng tôi. Phần 4.2 mô tả thiết lập thực nghiệm và phần 4.3 trình bày kết quả định tính.
4.1 Thiết lập thực nghiệm
Chúng tôi đã thử nghiệm hệ thống của mình bằng hai bài kiểm tra khác nhau: A-OKVQA và NExT-QA. Chúng tôi đã đánh giá hiệu suất của mô hình của chúng tôi trên hai bài giảng.
4.2 Kết quả định lượng
Khi phân tích dữ liệu trong bảng của chúng tôi, rõ ràng rằng hai phiên bản của AssistGPT (BLIP2 FlanT5{}_{XL} và Ins. BLIP Vicuna-7B) vượt trội hơn so với tất cả các phương pháp hiện có trong việc học dựa trên ngữ cảnh, đặc biệt là trong phân đoạn lựa chọn nhiều lựa chọn. Đáng chú ý, chúng tôi đã sử dụng một phiên bản đã được huấn luyện trước của InstructBLIP, đạt được một điểm hiệu suất là 53,3%. Tuy nhiên, khi tích hợp vào hệ thống của chúng tôi, hiệu suất của nó đã được nâng lên mức của một mô hình được điều chỉnh tốt.
Đối với câu hỏi yêu cầu câu trả lời trực tiếp, chúng tôi thừa nhận rằng mô hình của chúng tôi không vượt qua hiệu suất của một số mô hình được đề xuất gần đây. Tuy nhiên, nó ngang bằng với các mô hình xuất sắc trước đây, như GPV-2. Nguyên nhân chính cho điều này là các mô hình dựa trên mô hình ngôn ngữ (LLM) cho các câu hỏi mở có xu hướng tạo ra các cụm từ toàn diện thay vì câu trả lời đơn từ, bất kể mức độ ngắn gọn của lời nhắc. Ví dụ, nếu hỏi "Cờ được đại diện trên tường có màu gì?", AssistGPT của chúng tôi có thể trả lời là "Cờ của Hoa Kỳ". Đáng tiếc, nếu câu trả lời mong muốn không bao gồm từ "cờ", nó sẽ không được đánh dấu là đúng. Loại lỗi này khá phổ biến với AssistGPT và có thể tìm thấy thêm ví dụ trong phụ lục.
4.3 Kết quả định tính
Trong phần 4.3, chúng tôi trình bày một số ví dụ hình ảnh của các dự đoán được thực hiện bởi mô hình AssistGPT của chúng tôi cho hai câu hỏi khác nhau từ cơ sở dữ liệu A-OKVQA và NExT-QA. Cách hoạt động của mô hình được trình bày, khi nó chia nhỏ câu hỏi thành các nhiệm vụ quản lý được và đối phó với chúng từng bước một cho đến khi đạt được câu trả lời cuối cùng. Một khía cạnh quan trọng của mô hình của chúng tôi là cách nó kết hợp phương pháp tư duy bằng mã và ngôn ngữ. Điều này cho phép AssistGPT sử dụng hiệu quả nội dung cần thiết như một đầu vào. Một ví dụ rõ ràng về điều này có thể thấy trong cách nó xử lý Câu hỏi 1. AssistGPT cũng có khả năng tự sửa lỗi. Ví dụ, nếu mô hình thị giác tạo ra kết quả không đủ thỏa đáng, AssistGPT có thể chuyển sang sử dụng các mô-đun khác, như mô-đun đất, để tư duy theo một con đường tư duy khác. Trong trường hợp của Câu hỏi 1, phương pháp tiếp cận ban đầu của mô hình không đạt kết quả hiệu quả. Nhưng, AssistGPT không dừng lại ở đó. Nó tự điều chỉnh kế hoạch khi nó không vượt qua bước kiểm tra tự kiểm tra của chính nó. Chúng tôi cũng đã so sánh AssistGPT với một mô hình cơ sở chỉ xác định lý do. Mô hình khác này bắt đầu bằng cách sử dụng InstructBLIP để tạo ra một chú thích và sau đó sử dụng GPT-4 để suy luận. Tuy nhiên, nếu thông tin chú thích không đáp ứng đủ yêu cầu, nó có thể dẫn đến kết quả không chính xác. Và khác với AssistGPT, một khi mô hình này đưa ra một dự đoán không thành công, nó không có cơ chế tối ưu hóa tự động.
Chúng tôi muốn nhấn mạnh rằng một trong những điểm mạnh nhất của AssistGPT là khả năng đối phó với các vấn đề phức tạp hơn so với những gì thường thấy trong các bài kiểm tra benchmark, như đã thể hiện trong ví dụ được trình bày trong Phần... Chúng tôi đã cung cấp thêm các ví dụ về cách mô hình của chúng tôi hoạt động trong các kịch bản thực tế trong Phụ lục.