2 điểm bởi GN⁺ 2024-04-08 | 1 bình luận | Chia sẻ qua WhatsApp
  • LLM thường có độ chính xác dao động trong các tác vụ phức tạp; nghiên cứu này kiểm chứng liệu chỉ bằng lấy mẫu-bỏ phiếu, thay vì thêm cấu trúc bổ sung, có thể nâng cao hiệu năng hay không
  • Agent Forest là một phương pháp ensemble đơn giản: chạy cùng một truy vấn nhiều lần để thu thập câu trả lời, rồi chọn câu trả lời cuối cùng bằng đa số phiếu
  • Trên GSM8K, với kích thước ensemble 15, Llama2-13B đạt độ chính xác tương đương Llama2-70B; Llama2-70B và GPT-3.5-Turbo cũng tiến gần tới các mô hình đối ứng mạnh hơn
  • Phương pháp này có thể kết hợp độc lập với các phương pháp dựa trên CoT hoặc framework cộng tác đa agent, tạo thêm cải thiện hiệu năng trên các kỹ thuật hiện có
  • Mức cải thiện đặc biệt lớn ở các tác vụ khó và các mô hình yếu hơn, cho thấy vẫn có dư địa nâng tỷ lệ hiệu năng/chi phí mà không cần thiết kế prompt phức tạp

Độ chính xác của LLM dao động trong các tác vụ phức tạp

  • LLM thể hiện năng lực mạnh trong nhiều ứng dụng như sinh ngôn ngữ, hiểu ngôn ngữ và suy luận, nhưng khó đưa ra câu trả lời chính xác ở các tác vụ phức tạp
  • Các nghiên cứu cải thiện hiệu năng hiện có chủ yếu đã tận dụng các phương pháp ensemble và framework cộng tác nhiều LLM agent
    • LLM-Debate được cấu hình để nhiều LLM agent thảo luận câu trả lời cuối cùng cho các bài toán số học, giúp tăng hiệu năng suy luận so với một agent đơn lẻ
    • CoT-SC tạo nhiều chuỗi suy nghĩ (thought chain) và chọn câu trả lời tự nhất quán nhất, qua đó cải thiện hiệu năng suy luận so với CoT dùng một chuỗi suy nghĩ đơn lẻ
  • Các kết quả trước đó cũng quan sát thấy hiện tượng hiệu năng tăng khi số lượng agent hoặc số lượng chuỗi suy nghĩ tăng, nhưng đặc tính scaling của chính số lượng LLM agent cơ bản chưa được nghiên cứu đầy đủ như một chủ đề riêng

Cách Agent Forest hoạt động

  • Agent Forest sử dụng một quy trình lấy mẫu-bỏ phiếu đơn giản để xem việc tăng số lượng LLM agent ảnh hưởng thế nào đến hiệu năng
  • Cách hoạt động được chia thành hai bước
    • Lặp lại việc đưa truy vấn tác vụ vào một LLM đơn lẻ hoặc một framework cộng tác nhiều LLM agent để tạo ra nhiều đầu ra
    • Áp dụng bỏ phiếu đa số lên các đầu ra đã tạo để quyết định kết quả cuối cùng
  • Quy trình này lấy cảm hứng từ CoT-SC, nhưng không phụ thuộc vào thiết kế lộ trình CoT phức tạp
  • Tên gọi là lời tri ân dành cho Random Forest cổ điển

Kết quả trên GSM8K và nhiều tác vụ

  • Thí nghiệm được thực hiện trên nhiều dataset bao gồm các LLM với kích thước khác nhau và các tác vụ suy luận, sinh nội dung
  • Nhìn chung, khi kích thước ensemble, tức số lượng agent, tăng lên, hiệu năng LLM có thể được cải thiện
  • Trong kết quả GSM8K ở Figure 1, cả Llama2-13B, Llama2-70B và GPT-3.5-Turbo đều tăng độ chính xác khi kích thước ensemble lớn hơn
    • Với kích thước ensemble 15, Llama2-13B đạt độ chính xác có thể so sánh với Llama2-70B
    • Với kích thước ensemble 15 và 20, Llama2-70B và GPT-3.5-Turbo lần lượt cho thấy độ chính xác có thể so sánh với các mô hình đối ứng mạnh hơn
    • Thanh sai số trong hình biểu thị sai số chuẩn
  • Ngay cả LLM nhỏ cũng có thể đạt hiệu năng có thể so sánh với LLM lớn hơn, hoặc tốt hơn, nếu áp dụng ensemble đơn giản

Cải thiện hiệu năng có thể đặt lên trên các kỹ thuật hiện có

  • Agent Forest là một hướng tiếp cận có thể kết hợp độc lập với các phương pháp cải thiện hiệu năng LLM phức tạp hiện có
  • Với các phương pháp dựa trên CoT, có thể gắn vào như một plugin để tạo thêm cải thiện hiệu năng
  • Ngay cả khi so với các phương pháp phức tạp, chỉ riêng Agent Forest cũng có thể đạt hiệu năng tương đương trong hầu hết trường hợp
  • Có thể thu được kết quả cạnh tranh mà không cần thiết kế prompt thủ công bổ sung hay framework cộng tác phức tạp

Hiệu quả theo độ khó và tối ưu hóa

  • Mức cải thiện hiệu năng xuất hiện lớn hơn ở các tác vụ khó và các mô hình yếu hơn
  • Ảnh hưởng của độ khó bài toán lên hiệu quả của Agent Forest được phân tích theo ba chiều
    • Độ khó nội tại của bài toán
    • Độ dài của các bước suy luận
    • Xác suất tiên nghiệm của đáp án đúng
  • Thông qua các thí nghiệm điều chỉnh từng chiều, nghiên cứu xác định các thuộc tính ảnh hưởng đến hiệu quả của Agent Forest
  • Dựa trên các thuộc tính đã xác định, nhóm cũng phát triển thêm chiến lược tối ưu hóa để hiệu ứng “More Agents” thể hiện rõ hơn
  • Mã nguồn công khai được cung cấp tại https://github.com/MoreAgentsIsAllYouNeed/AgentForest

1 bình luận

 
GN⁺ 2024-04-08
Các ý kiến trên Hacker News
  • Có vẻ có những người chưa đọc kỹ bài báo này
    Bài báo này gần như phản bác ý tưởng về các cấu hình đa tác nhân như Chain-of-thought hay LLM-Debate
    Phương án thay thế mà bài báo đề xuất là đặt cùng một truy vấn cho cùng một LLM nhiều lần, nhưng không chia sẻ ngữ cảnh giữa các truy vấn, rồi tính độ tương đồng giữa các câu trả lời và chọn câu trả lời phổ biến nhất
    Nếu LLM đưa ra lẫn lộn ảo giác và đáp án đúng, thì các đáp án đúng sẽ giống nhau còn ảo giác sẽ phân tán hỗn loạn, nên cách này có lý
    Nhưng thuật toán đơn giản này hoạt động ngang bằng, đôi khi còn tốt hơn, các thuật toán đa tác nhân khác
    Tức là các kỹ thuật đa tác nhân khác dùng prompt khéo léo không làm điều gì đặc biệt; phần lớn cải thiện dường như đến từ việc chạy LLM nhiều lần rồi yêu cầu “chọn câu trả lời tốt nhất”

    • https://en.wikipedia.org/wiki/Lorenz_system
      Từ lâu, mô phỏng thời tiết đã chạy lặp lại mô hình bằng cách thay đổi nhẹ các tham số đầu vào, loại bỏ ngoại lệ rồi lấy trung bình, và cách này hoạt động khá tốt
      LLM nhìn chung cũng có seed ngẫu nhiên, tức giá trị temperature, nên nếu đưa cùng một đầu vào và lấy trung bình các đầu ra thì có thể thu được ước lượng tốt hơn
      Lorenz system cũng cho manh mối, có lẽ là lời giải thích, về lý do vấn đề ảo giác có thể không thể giải quyết được
      Nếu chấp nhận góc nhìn này, ta cũng nhanh chóng thấy rằng LLM gần như là ngõ cụt trên con đường tới trí tuệ nhân tạo tổng quát
      Mô phỏng không phải là giả lập, và khả năng LLM có trí thông minh cũng tương tự khả năng dự báo thời tiết có thể điều khiển thời tiết
    • Theo cảm nhận khi dùng GitHub Copilot, ảo giác xảy ra vì khi xác suất của một sự thật nào đó thấp, Copilot vẫn đưa ra câu trả lời có vẻ hợp lý nhất
      Thường thì một thư viện cụ thể hoạt động theo cách rất bất thường và không được tài liệu hóa, nhưng nếu hỏi ví dụ, nó sẽ tạo ra mã hàm giả trông hay ho, dễ hiểu — thứ vốn đã không cần tồn tại nếu thư viện đó hoạt động theo cách ấy ngay từ đầu
      Tôi không nghĩ chạy truy vấn đó nhiều lần sẽ giúp ích
    • Đây là một ý tưởng rất giống mô hình ensemble, vốn đã được dùng từ lâu trong học máy và được chứng minh là có hiệu năng tốt
      Nếu lấy trung bình kết quả của nhiều bộ dự đoán hoặc cho chúng bỏ phiếu để chọn giá trị dự đoán phổ biến nhất, ta có thể chọn phần giao chung của nhiều dự đoán đồng thời giảm nhiễu trong dự đoán
    • Nếu đặt temperature bằng 0, mô hình sẽ chọn token có xác suất cao nhất và đầu ra sẽ luôn giống nhau
      Nhưng ta đã biết điều đó không đảm bảo đáp án đúng, vậy chạy nhiều lần thì có thể tốt hơn bằng cách nào?
    • Phần “nếu LLM đưa ra lẫn lộn ảo giác và đáp án đúng, thì các đáp án đúng sẽ giống nhau còn ảo giác sẽ phân tán hỗn loạn” khiến tôi kỳ vọng nó sẽ cho một giá trị gần với độ tự tin mà mô hình nền có đối với một khẳng định cụ thể
      Bản thân điều đó là tốt, nhưng tôi nghĩ truyền thuyết đô thị hay huyền thoại văn hóa cũng sẽ được xếp hạng cao
      Dù đó là một sai lầm rất con người, nó vẫn là sai lầm
      Để vượt qua điều này, tôi cho rằng cần xây dựng một mô hình thế giới, tìm mâu thuẫn, rồi tìm bằng chứng mới để hóa giải mâu thuẫn đó
  • Cuối cùng cũng xuất hiện
    Tôi đã nói khoảng 16 tháng rằng không nên chỉ tập trung làm cho một tác nhân đơn lẻ trả lời đúng mọi thứ, mà phải phân tầng các tác nhân, nên giờ có một bài báo để dẫn chiếu thật tốt
    Cũng thú vị là lợi ích biên theo từng tác vụ nhanh chóng đi ngang ở quy mô tương tự cỡ cuộc họp lý tưởng của con người: https://www.researchgate.net/figure/18-Optimal-Meeting-Sizes...
    Tôi tò mò nếu họ thử nghiệm số lượng tác nhân với các bước dày hơn thì sẽ khớp với những con số đó đến mức nào
    Sau này tôi cũng muốn xem hiệu năng sẽ tăng thêm bao nhiêu khi tinh chỉnh mỗi tác nhân cho những mục tiêu hơi khác nhau
    Chỉ cần đặt giá trị temperature khác nhau cho từng tác nhân có lẽ cũng đã giúp cải thiện hiệu năng
    Tôi rất vui khi cộng đồng nghiên cứu bắt đầu đi theo hướng này

    • Hoàn toàn đồng ý
      Các SLIM agents của LLMWare cũng đáng xem: https://github.com/llmware-ai/llmware/tree/main/examples/SLI...
      Chúng gần như tập trung đúng chủ đề này khi kết nối nhiều LLM cục bộ
      Một chủ đề hay liên quan là tùy theo mục đích sử dụng của mô hình, cần có lấy mẫu quyết định
      Thuật ngữ có thể hơi sai, nhưng đội LLMWare đã làm một video 2 phần hay về việc này: https://www.youtube.com/watch?v=7oMTGhSKuNY
      Tôi cho rằng các LLM nhỏ chuyên dụng là con đường phía trước
      Nhân tiện, tôi không liên quan gì đến họ; chỉ đơn giản nghĩ đây là một dự án rất tuyệt
    • Tôi nghĩ con người cũng hoạt động như vậy
      Kiểu như có khoảng 5 hay 8 phiên bản của chính chúng ta chạy quanh trong hộp sọ, và một trong số đó đóng vai trò giám sát ở mức nào đó
    • Năm ngoái, trong vài tháng tôi đã xây dựng một hệ thống đa tác nhân để giải quyết vấn đề bằng https://github.com/agi-merge/waggle-dance
    • Nếu là “tinh chỉnh mỗi tác nhân cho những mục tiêu hơi khác nhau”, thì chẳng phải cũng giống mixture of experts sao
    • Thật thú vị khi các nhà nghiên cứu nghiên cứu những thứ mà mọi người đang tự thử nghiệm xây dựng
      crewAI là một ví dụ
  • Có vẻ liên quan đến tập Edward Chang gần đây của ACM ByteCast
    Đây là tập có Edward Chang, giáo sư thỉnh giảng ngành khoa học máy tính tại Stanford University: https://learning.acm.org/bytecast/ep50-edward-y-chang
    Nếu không muốn nghe thì cũng có bản chép lời
    Cách tiếp cận ông ấy dùng là thay vì định dạng hỏi/đáp thông thường của LLM hiện nay, để nhiều LLM trò chuyện với nhau về chủ đề thảo luận, còn con người đóng vai trò người điều phối
    Ông nói rằng với cùng tài nguyên, câu trả lời cuối cùng mà nhiều LLM đạt được qua đối thoại được cải thiện đáng kể cả về độ precision lẫn accuracy

    • Bài báo này có vẻ nói rằng không cần phần tranh luận
      Chỉ cần để các LLM giải bài toán độc lập rồi chọn câu trả lời phổ biến nhất
    • Tôi từng làm một thứ tương tự bằng Haskell
      Chưa benchmark, nhưng cảm thấy khá thuyết phục
      Ví dụ, tôi định nghĩa mỗi agent là một “chuyên gia” khác nhau theo từng phân ngành toán học: nhà lý thuyết chứng minh, chuyên gia đại số trừu tượng, v.v.
      Nó có giúp ích, nhưng tỷ lệ tín hiệu trên nhiễu cao, và nhiều agent lặp lại cùng một ý
    • Đây có phải về cơ bản là mô tả những thứ như crewAI không?
  • Có một điểm khiến tôi bực mình trong tất cả các nghiên cứu về mixture of experts này
    Chỉ cần xem nhập môn thuật toán ngẫu nhiên hay suy luận xác suất cơ bản là thấy, nếu tham số nhiệt độ lớn hơn 0 thì việc hỏi LLM N lần rồi chọn kết quả theo đa số nhìn chung sẽ cho hiệu năng tốt hơn so với chỉ hỏi một lần rồi chọn kết quả đó
    Nếu chuyên biệt hóa và trộn các LLM khác nhau thì có vẻ còn có thể cải thiện thêm, và trong trường hợp đó có thể chạy với nhiệt độ 0
    Hoặc cũng có thể chia tác vụ thành các tác vụ con tốt hơn như bài báo này đề xuất
    Nhưng theo tôi thấy, chưa ai thực sự định lượng các lợi ích giả định này so với cách lặp ngẫu nhiên đơn giản
    Đặc biệt, với một số chiến lược bỏ phiếu hay cách trộn, thậm chí với một mô hình cụ thể, các phương pháp kiểu MoE có thể còn tệ hơn một cách nghiêm ngặt so với lặp ngây thơ
    Tôi không phải nhà nghiên cứu LLM, giống một công dân lo lắng hơn, nên có thể đã bỏ sót điều gì đó
    Dù vậy, thật lạ khi các nhà nghiên cứu LLM trông như đã quên chương đầu của Motwani/Raghavan

    • Có vẻ sẽ có khác biệt giữa việc chọn token tốt nhất trong các token được chọn ngẫu nhiên, và chọn chuỗi tốt nhất trong các chuỗi token được chọn ngẫu nhiên
  • Nhìn lướt qua đồ thị thì phần lớn lợi ích đến từ 10 agent, tăng thêm một chút ở 20, rồi sau đó là lợi suất giảm dần
    Có lẽ chỉ gắn thêm thật nhiều agent sẽ không giải quyết được vấn đề

  • Có kho mã nguồn công khai: https://anonymous.4open.science/r/more_agent_is_all_you_need...
    Prompt dùng cho benchmark ở đây: https://anonymous.4open.science/r/more_agent_is_all_you_need...
    Rất thú vị
    Cũng muốn thấy benchmark theo kiểu này nhưng với các agent dựa trên LLM có dùng bộ công cụ

  • Đây chẳng phải là một phương pháp cực kỳ đắt đỏ và không bền vững sao?
    Các mô hình mới nhất có lẽ sẽ gặp lợi suất giảm dần, nên tôi đồng ý với quan điểm rằng MoE là hướng đi
    Nhưng chẳng phải lượng tính toán cho một prompt đơn lẻ đột nhiên tăng 7~15 lần sao?

    • GPT-4 đắt hơn GPT-3.5 20 lần, nhưng nếu chạy GPT-3.5 10 lần là đủ để có chất lượng phản hồi tương tự, mà có lẽ còn nhanh hơn, thì vẫn có lợi
    • “Tất cả những gì bạn cần là hóa đơn OpenAI sáu chữ số”
    • Mức sử dụng tài nguyên không tái tạo và phát thải cũng tăng 7~15 lần
    • Vậy vấn đề là gì? GPU đâu có đang thiếu việc tính toán
    • Đúng vậy, cứ nhìn giá GPT-3.5 và GPT-4 là được
  • Chỉ đọc vài bình luận hàng đầu hiện tại cũng thấy mô hình kinh doanh của các công ty cung cấp dịch vụ LLM khá kỳ quặc
    Giống như một dịch vụ xe cần gọi n lần mới đưa bạn từ A đến B, hay một loại bột giặt phải bôi n lần thì quần áo “có lẽ” mới sạch
    Nếu một công ty nhận tiền để cung cấp “trí tuệ nhân tạo”, chẳng phải hợp lý hơn là chỉ trả phí cho câu trả lời đúng sao?
    Nếu cung cấp dịch vụ xe, chẳng phải chỉ nên trả tiền khi họ đưa bạn đến đích sao?

    • Đồng ý
      Nếu thất bại đủ thường xuyên, chẳng phải ngưỡng để con người hoặc tự động hóa truyền thống đa dụng trở nên tốt hơn sẽ khá thấp sao?
      Tôi nghĩ bong bóng này sẽ vỡ theo kiểu đó
      Tôi không nghi ngờ rằng LLM là một công cụ mang tính đột phá, nhưng ngoài các ứng dụng rất chi tiết hẹp, tôi thật sự hoài nghi
      Có lẽ bài học là cách phân tán trách nhiệm của các LLM agent giống với mô hình thất bại của các tổ chức con người hiện có
    • Các công ty thường cung cấp dịch vụ hoặc sản phẩm
      Nếu không cung cấp được thứ đã thỏa thuận, khách hàng có thể yêu cầu khắc phục
      Nếu tài xế taxi đi đường vòng không cần thiết, tính phí quá mức, hoặc không đưa bạn đến nơi, bạn có thể khiếu nại với hãng taxi
      Nếu giặt chưa sạch, bạn yêu cầu họ làm lại
      Nhưng nhiều hoạt động vốn dĩ có rủi ro hoặc kết quả không chắc chắn
      Vì luôn có những yếu tố mà không ai kiểm soát được
      Luật sư không thể hứa sẽ thắng kiện, nhưng phải đại diện cho vụ việc hết sức mình
      Bác sĩ không đảm bảo bạn sẽ khỏe lại
      Không tài xế taxi nào đảm bảo sẽ đến đúng giờ, nhưng họ sẽ đưa bạn tới điểm đến
      Atlassian không đảm bảo bạn sẽ kịp hạn phát hành chỉ vì dùng một instance JIRA được quản lý, nhưng họ sẽ cố hết sức để tránh mất dữ liệu
      Về cơ bản, công ty bán quyền truy cập chatbot có lẽ cũng sẽ không đảm bảo đưa ra kết quả đúng
      Có lẽ họ chỉ có thể đảm bảo mức độ sẵn sàng
    • Phản biện là dự báo của National Weather Service không phải lúc nào cũng đúng, nhưng bạn không chỉ trả tiền cho NWS vào những ngày dự báo đúng
  • Dù ensemble bao nhiêu agent GPT-3.5 đi nữa thì độ chính xác vẫn thấp hơn một lần gọi GPT-4

    • Điều thú vị là GPT-4 thực ra về cơ bản là một đống GPT-3.5
      Chỉ cần cấu hình cho đúng