1 điểm bởi GN⁺ 2024-11-23 | 1 bình luận | Chia sẻ qua WhatsApp
  • Hiện tượng hầu hết LLM chơi cờ vua rất kém, trong khi chỉ riêng gpt-3.5-turbo-instruct lại mạnh một cách nổi bật, được giải thích phần nào qua thí nghiệm cho thấy nếu thay đổi giao diện prompt thì gpt-4ogpt-4o-mini cũng cải thiện đáng kể
  • Giả thuyết OpenAI bí mật gọi engine cờ vua khá yếu: cùng một bàn cờ nhưng mô hình đi nước khác nhau tùy theo chuỗi nước đi dẫn tới đó, nhạy với thay đổi prompt, và hiệu năng cũng chỉ dừng ở khoảng 1750 Elo chứ không phải mức engine
  • Chỉ với ba ví dụ in-context ngắn, hiệu năng đã tăng mạnh; việc fine-tuning bằng các ví dụ lấy từ 100 ván Stockfish tự đấu cũng cho thấy có cải thiện
  • Ngược lại, nếu cung cấp các nước hợp lệ hiện có thì hiệu năng giảm mạnh; cách lặp lại biên bản ván cờ (regurgitation), tức lặp lại toàn bộ biên bản rồi thêm nước tiếp theo, khiến mô hình chat hành xử giống mô hình completion và kéo hiệu năng lên
  • Tổ hợp cuối cùng gpt-4o + regurgitation + examples đạt 10 thắng, 5 hòa, 35 thua trong 50 ván trước gpt-3.5-turbo-instruct; xét đến lợi thế đi trước của Trắng, ước tính khoảng 1540 Elo, vẫn chưa bằng mức khoảng 1750 Elo của gpt-3.5-turbo-instruct

Đặt vấn đề: vì sao chỉ gpt-3.5-turbo-instruct chơi cờ vua giỏi?

  • Điểm xuất phát của quan sát trước đây là hầu hết LLM chơi cờ vua rất kém, nhưng gpt-3.5-turbo-instruct lại chơi ở trình độ nghiệp dư cao cấp
  • Dù đây là một mô hình tương đối nhỏ đã hơn một năm tuổi, nó vẫn cho thấy khả năng chơi cờ vua tốt hơn các mô hình mới nhất
  • Có bốn cách giải thích chính được đặt ra
    • Base model lớn chơi cờ vua giỏi, nhưng năng lực đó không được giữ lại trong các mô hình chat đã qua instruction tuning
    • gpt-3.5-turbo-instruct được huấn luyện với nhiều dữ liệu cờ vua hơn
    • Có yếu tố đặc biệt nào đó trong một kiến trúc LLM cụ thể
    • Dữ liệu cờ vua phải chiếm tỷ trọng đủ lớn trong toàn bộ dữ liệu huấn luyện
  • Các thảo luận sau đó thu hẹp vào khả năng OpenAI gọi engine cờ vua, việc LLM có thật sự chơi cờ hay không, và khác biệt giữa base model với chat model

Giả thuyết bí mật dùng engine cờ vua không thuyết phục

  • Nghi ngờ rằng gpt-3.5-turbo-instruct nhận diện ký pháp cờ vua rồi gọi engine cờ vua bên ngoài có vẻ rất khó xảy ra
  • Có nhiều nhóm bằng chứng
    • Những người liên quan tại OpenAI nói rằng họ không xử lý như vậy
    • Engine cờ vua sẽ đánh giá cùng một trạng thái bàn cờ như nhau bất kể chuỗi nước đi, nhưng gpt-3.5-turbo-instruct lại đi nước khác nhau nếu chuỗi nước đi dẫn tới cùng một bàn cờ khác nhau
    • Theo chuẩn nghiệp dư cờ vua thì tốt, nhưng theo chuẩn chuyên gia thì yếu, và so với engine cờ vua thì hiệu năng rất thấp
    • Khi thay đổi prompt, lối chơi thay đổi một cách tinh tế
    • Các mô hình OpenAI về sau chơi kém hơn nhiều ở trạng thái mặc định, nhưng có thể chơi tốt nếu dùng prompt phù hợp
  • Nếu có gian lận, thì họ đã chọn một cách rất phức tạp để không trông giống gọi engine bên ngoài, đồng thời khiến có vẻ như LLM tự chọn nước đi

LLM không chỉ chơi bằng cách ghi nhớ đơn thuần

  • gpt-3.5-turbo-instruct hiếm khi đề xuất nước đi bất hợp lệ, kể cả ở giai đoạn sau của ván
  • Để phán đoán nước cuối cùng có hợp lệ trong chuỗi như 1. e4 d5 2. exd5 Qxd5 3. Nc3 hay không, cần biết luật cờ vua và theo dõi trạng thái
  • Trong các ván thực tế, gpt-3.5-turbo-instruct cũng chơi khá tốt ở những trạng thái bàn cờ mới chưa từng tồn tại trong lịch sử
  • Vì vậy, cách giải thích rằng nó ghi nhớ khai cuộc rồi sau đó đi ngẫu nhiên là không đúng

Thí nghiệm cơ bản: khác biệt giữa mô hình completion và mô hình chat

  • gpt-3.5-turbo-instructmô hình completion, nên nước tiếp theo được lấy bằng cách cho mô hình viết tiếp văn bản dạng PGN
    • Ví dụ là cung cấp biên bản gồm [Event "Shamkir Chess"], tên kỳ thủ, Elo, kết quả, 1. e4 e5 2. Nf3 Nc6 3.
  • gpt-4o-minigpt-4omô hình chat, nên dùng system prompt và user prompt để yêu cầu chỉ xuất nước tiếp theo theo ký pháp đại số chuẩn
  • Đấu với Stockfish level 1, mỗi nước được tối đa 0,01 giây, lấy trung bình 50 ván; sau ván, điểm của từng lượt được tính bằng centipawn
    • pawn được tính là 100 điểm
    • ±1500 tương ứng với thắng/thua
  • Với prompt cơ bản, gpt-3.5-turbo-instruct mạnh, còn các mô hình chat như gpt-4ogpt-4o-mini tỏ ra yếu

Thí nghiệm cấu trúc prompt

  • Thử các tổ hợp khác nhau: có lặp lại system prompt ở đầu user prompt hay không, có đưa metadata như tên kỳ thủ và Elo hay không
  • Với gpt-4o-mini, dường như gần như không có khác biệt lớn
  • Với gpt-4o, việc lặp lại system prompt có vẻ hơi có ích, còn metadata có vẻ hơi gây hại, nhưng vẫn có thể chỉ là nhiễu
  • Trong các thí nghiệm về sau, để đơn giản hóa, cả lặp lại system prompt lẫn metadata đều bị tắt

Chỉ ba ví dụ đã cải thiện hiệu năng mạnh

  • Theo cách thường dùng khi giao nhiệm vụ cho LLM, cung cấp ba ví dụ đầu vào/đầu ra ngắn qua API
    • Đầu vào 1. → đầu ra e4
    • Đầu vào 1. e4 → đầu ra d5
    • Đầu vào 1. e4 e5 2. Nf3 Nc6 3. → đầu ra Bb5
  • Chỉ với ba ví dụ này, kết quả đã tốt hơn rất nhiều
  • Có thể nhiều ví dụ hơn hoặc ví dụ khác sẽ tốt hơn, nhưng vì cần rất nhiều truy vấn để tạo từng biểu đồ nên không kiểm tra thêm

Fine-tuning có ích, nhưng kết hợp với ví dụ thì không ổn định

  • Thực hiện fine-tuning trên cả gpt-4o-minigpt-4o
  • Cách tạo dữ liệu như sau
    • Stockfish tự đấu với chính nó 100 ván ở độ khó cao nhất
    • Từ mỗi ván chọn ngẫu nhiên một nước để dùng làm ví dụ huấn luyện
    • Dùng riêng 100 ván Stockfish tự đấu khác làm dữ liệu kiểm chứng
  • Fine-tuning tự thân có cải thiện hiệu năng
  • Tuy nhiên, kết quả fine-tuning đầu tiên của gpt-4o trông kém nên đã chạy lại với step size nhỏ hơn, và điểm này vẫn là một yếu tố bất an
  • Khi kết hợp ví dụ và fine-tuning, kết quả không cải thiện nhất quán như kỳ vọng
    • Chỉ fine-tuning thì có ích
    • Chỉ dùng ví dụ cũng có ích
    • Sau fine-tuning rồi thêm ví dụ thì gần như không có tác dụng
    • Khi đã có ví dụ, fine-tuning lại cho kết quả có hại

Cung cấp danh sách nước hợp lệ làm hỏng hiệu năng

  • Vì mô hình đôi khi đưa ra nước bất hợp lệ, thí nghiệm đã cung cấp danh sách các nước hợp lệ hiện có ở trước biên bản
  • System prompt cũng được đổi sang dạng nhận danh sách nước hợp lệ và biên bản một phần
  • Kết quả rất tệ
    • Không chỉ tỷ lệ thắng thấp hơn, mô hình còn bắt đầu mắc lỗi từ các lượt sớm hơn
  • Sau đó không dùng cách cung cấp danh sách nước hợp lệ nữa

Ý tưởng cốt lõi: buộc mô hình lặp lại toàn bộ biên bản

  • Chat model hoạt động theo định dạng hội thoại như <|SYSTEM|>, <|USER|>, <|ASSISTANT|> thông qua special token và instruction tuning
  • Base model gần với mô hình completion viết tiếp chuỗi hơn, và biên bản PGN cũng phù hợp hơn với cách đó
  • Không thể truy cập trực tiếp gpt-4-base của OpenAI, cũng không thể gọi gpt-4o ở completion mode, nên không thể so sánh trực tiếp
  • Thay vào đó, để gpt-4o hành xử giống mô hình completion, yêu cầu nó không chỉ đưa ra nước tiếp theo mà lặp lại toàn bộ ván cờ rồi thêm một nước mới
  • Ví dụ, nếu đầu vào là 1. e4 e5 2. thì yêu cầu đầu ra có dạng 1. e4 e5 2. Nf7
  • Cách này cải thiện hiệu năng cờ vua của gpt-4o-minigpt-4o
  • Khi bắt mô hình lặp lại toàn bộ chuỗi nước đi, nó tự tạo ra ngữ cảnh có khả năng cao hơn để chọn nước tốt
  • Kết quả này là bằng chứng cho thấy nếu có thể gọi gpt-4-base không truy cập được ở completion mode, nó có lẽ sẽ chơi cờ khá tốt

Kết hợp lặp lại biên bản, ví dụ và fine-tuning

  • Với cách lặp lại biên bản, thí nghiệm fine-tuning riêng cũng được thực hiện lại
    • Đầu vào vẫn là biên bản một phần như trước
    • Đầu ra mong muốn là dạng lặp lại toàn bộ biên bản đầu vào rồi thêm nước tiếp theo
  • Fine-tuning theo cách này dường như có ích một chút
  • Ba ví dụ cũng được cấu trúc lại cho phù hợp với cách lặp lại biên bản
    • Đầu vào 1. → đầu ra 1. e4
    • Đầu vào 1. d4 → đầu ra 1. d4 d5
    • Đầu vào 1. e4 e5 2. Nf3 Nc6 3. → đầu ra 1. e4 e5 2. Nf3 Nc6 3. Nf3
  • Dù lượng thông tin ít, các ví dụ lại một lần nữa tạo ảnh hưởng lớn
  • Khi dùng ví dụ cùng fine-tuning, một mô thức kỳ lạ lặp lại
    • Thêm ví dụ vào fine-tuning thì có ích
    • Nhưng vẫn kém hơn trường hợp chỉ dùng ví dụ

Kết quả thí nghiệm và ước tính Elo

  • Kết quả thí nghiệm được chia thành ba nhóm
    • Tốt: lặp lại biên bản, ví dụ, fine-tuning không kèm ví dụ
    • Không rõ ràng: metadata, lặp lại system prompt, fine-tuning dùng cùng ví dụ
    • Tệ: cung cấp danh sách nước hợp lệ
  • Tổ hợp cuối cùng là dùng lặp lại biên bản và ví dụ, tắt các yếu tố còn lại
  • gpt-4o + regurgitation + examples khá ổn, nhưng không mạnh bằng gpt-3.5-turbo-instruct
  • Hai mô hình chơi 50 ván, và trong tất cả các ván gpt-4o đều cầm Trắng
Kết quả của gpt-4o Số lần
Thắng 10
Hòa 5
Thua 35
  • Kết quả này tương ứng với chênh lệch Elo khoảng -191
  • Nếu phản ánh việc lợi thế đi trước của Trắng được biết là khoảng 35 Elo, thì gpt-4o + regurgitation + examples được ước tính khoảng 1750 - 191 - 35/2 ≈ 1540 Elo
  • Đây được đánh giá là trình độ nghiệp dư trung cấp

Giả thuyết hiện tại: dữ liệu và giao diện cùng tác động

  • Giả thuyết hiện tại gồm hai phần
    • Base model của OpenAI được huấn luyện bằng dữ liệu ván cờ nhiều hơn hoặc tốt hơn so với các mô hình mở
    • Các base model OpenAI mới nhất có thể chơi cờ tốt ở completion mode, nhưng các chat model có thể truy cập trong thực tế thì không như vậy
  • Các mô hình mở, dù là base model hay chat model, đều cho thấy chơi cờ kém; điều này có khả năng là khác biệt về dữ liệu hơn là giới hạn kiến trúc
  • Mục A.2 của một bài báo có nội dung rằng GPT-4 được huấn luyện bằng các ván cờ ở ký pháp PGN và đã lọc để chỉ gồm ván của người chơi Elo từ 1800 trở lên
  • Không có xác nhận công khai rằng gpt-3.5-turbo-instruct dùng cùng dữ liệu, nhưng việc nó chơi cờ bằng ký pháp PGN và Elo đo được khoảng 1750 có vẻ không phải ngẫu nhiên
  • Không thể xác nhận dữ liệu cờ vua đã được đưa vào huấn luyện các mô hình mở như Llama ở mức nào
  • Có thể nhiều ván đã nằm trên Internet mở, nhưng một cơ sở dữ liệu được chọn lọc quy mô lớn gồm các ván chất lượng cao có khả năng tạo ra kết quả tốt hơn
  • Cũng có khả năng do có quá nhiều dữ liệu cờ vua trình độ thấp nên mô hình dự đoán các nước chất lượng thấp, nhưng trong tình huống một chuỗi nước mạnh đang tiếp diễn, mô hình phải dự đoán nước tiếp theo của kỳ thủ mạnh, nên đây có lẽ không phải cách giải thích chính

Những điểm còn bất định và ấn tượng thực dụng

  • Nếu chat mode của gpt-4o yếu hơn completion mode của gpt-4-base, thì không thể biết nguyên nhân là do chat interface, do instruction tuning, hay do cả hai
  • Không thể thí nghiệm liệu gpt-4-base có chơi tốt nếu mô phỏng như chat mode hay không, hoặc liệu gọi gpt-4o ở completion mode có chơi tốt hay không
  • Có lẽ vẫn còn nhiều cách để khơi gợi hành vi tốt hơn từ gpt-4o
  • Việc tìm tổ hợp tối ưu giữa prompt, ví dụ và fine-tuning là rất khó
    • Không gian tìm kiếm lớn
    • Không có phép trừu tượng hóa dễ dùng
    • LLM khó dự đoán và mong manh
    • Thí nghiệm chậm và tốn kém
  • Khi áp dụng cùng công thức cuối cùng cho gpt-4, mô hình này không chơi cờ tốt
  • Tổ hợp tìm được có thể đặc thù cho gpt-4o; với gpt-4, có thể cần prompt khác, nhiều ví dụ hơn, hoặc fine-tuning
  • Quá trình này có độ nhạy theo từng mô hình lớn đến mức cảm giác giống tìm câu thần chú hơn là kỹ thuật

1 bình luận

 
GN⁺ 2024-11-23
Các ý kiến trên Hacker News
  • Nếu muốn xem gpt-3.5-turbo-instruct có thật sự hiểu cờ vua hay không, chỉ cần cho nó đi nước tiếp theo từ 1000 thế cờ hợp lệ ngẫu nhiên không phải chiếu hết.
    Có thể tạo các thế cờ như vậy bằng https://github.com/tromp/ChessPositionRanking; chúng hoàn toàn khác với các ván đấu bình thường mà có lẽ nó đã thấy trong dữ liệu huấn luyện, và trong nhiều trường hợp số lựa chọn nước đi hợp lệ cũng rất hạn chế.
    Cách này tốt để kiểm tra tính hợp lệ của nước đi tiếp theo, nhưng vì thường một bên đang có lợi thế áp đảo nên ít hữu ích hơn để phân biệt chất lượng nước đi.

    • Một điều thú vị tôi nghe được trên một livestream cờ vua là ngay cả siêu đại kiện tướng con người cũng gặp rất nhiều khó khăn khi đánh giá hoặc giải những thế cờ cực kỳ kỳ lạ, không xuất phát từ dòng chảy khai cuộc-trung cuộc-tàn cuộc hợp lý.
      Thật đáng kinh ngạc khi Hikaru nhìn một thế cờ rồi ngay từ đầu có thể “bình luận trực tiếp” cách thế cờ đó hình thành, nhưng trong cùng video, anh ấy giải thích rằng cách đó gần như không hiệu quả với các câu đố cờ vua ngẫu nhiên kỳ quặc.
      Các câu đố lấy từ ván đấu thực tế tốt hơn nhiều so với câu đố sinh ngẫu nhiên, và cũng có lý hơn đối với cả những kỳ thủ hàng đầu.
    • Khá kỳ lạ là hệ thống được tuyên bố là hiểu cờ vua, nhưng ở phần dưới bài viết lại nói rằng thử 10 lần vẫn không lấy được nước đi hợp lệ nên đã thay bằng nước đi ngẫu nhiên.
      Một người hiểu cờ vua tốt, chẳng hạn trình độ Elo 1800, trên thực tế gần như không bao giờ không đưa ra được nước đi hợp lệ ngay từ lần thử đầu tiên.
    • Ở thời điểm hiện tại, có vẻ rất rõ rằng LLM chưa đạt được cái thường được gọi là suy luận.
      Có thể xem suy luận thật sự cần logic ký hiệu và trừu tượng hóa, còn LLM là bộ dự đoán token tiếp theo.
    • Chỉ bài kiểm tra đó có đủ chứng minh không? Nếu LLM được huấn luyện chỉ trên tập các nước đi hợp lệ, nó có thể đã học một cách chức năng việc từng quân có thể di chuyển thế nào mà không thật sự suy luận.
      Ví dụ, vì nó đã thấy tượng luôn chỉ đi theo đường chéo nên có thể chỉ xét những nước như vậy, nhưng chưa chắc đã suy luận ra khái niệm nước đi hợp lệ/bất hợp lệ.
    • Vấn đề là LLM không học cách đi nước trong một thế cờ nào đó; trên các kho lưu trữ Internet thường chỉ có biên bản ván đấu.
      Nó có thể tự tạo ra một thứ gì đó bên trong để biểu diễn thế cờ, nhưng khi được đưa một thế cờ cờ vua đã mã hóa, biểu diễn đó sẽ không tự động được kích hoạt.
  • Nếu ai đó khẳng định gpt-3.5-turbo-instruct “hiểu” cờ vua, “suy luận” và thực hiện “logic thật sự”, tôi muốn họ thử tìm một kỳ thủ cờ vua ở mức nghiệp dư cao cấp như bài viết nói mà lại đi nước bất hợp lệ.
    Bất kỳ ai biết chơi cờ đều có thể xác nhận rằng chuyện đó hầu như không xảy ra.
    Tôi cũng tò mò liệu có liên kết tới ván nào có nước đi bất hợp lệ không.

    • Tôi là kỳ thủ cờ vua cấp chuyên gia, và đã thấy nhiều người gần trình độ của tôi đi nước bất hợp lệ trong các ván cờ tiêu chuẩn trực tiếp.
      Tôi cũng từng thấy các streamer trình độ cao hơn tôi rất nhiều liên tục thử đi nước bất hợp lệ cho đến khi nhận ra giao diện từ chối vì đó là nước bất hợp lệ.
    • Cách nói “người biết chơi cờ không đi nước bất hợp lệ” hơi không chính xác.
      Chỉ cần tìm “GM illegal moves” trên YouTube là có đủ các video tổng hợp những trường hợp đại kiện tướng đi nước bất hợp lệ.
      Ví dụ: https://www.youtube.com/watch?v=m5WVJu154F0 — trường hợp Vidit vs Hikaru đặc biệt ấn tượng, trong đó Vidit dùng vua của mình để tấn công vua của Hikaru.
    • Vấn đề là các nhà nghiên cứu LLM gần như đã từ bỏ việc xem bên trong LLM thật sự hoạt động như thế nào.
      Chừng nào LLM còn là hộp đen, ta không thể biết nó hiểu nước đi hợp lệ bằng cách suy luận theo luật, hay chỉ học từ rất nhiều dữ liệu nước đi hợp lệ để biết cách tạo ra nước đi hợp lệ.
      Có thể khẳng định bên nào là sự thật, nhưng hoàn toàn không có cách nào thật sự hiểu LLM đã “nghĩ” gì.
    • Nếu LLM chỉ nhận chuỗi nước đi mà không nhận thế cờ, về cơ bản nó đang chơi cờ tưởng.
      Để không bao giờ đi nước bất hợp lệ trong cờ tưởng thì phải khá giỏi.
    • Cuộc thảo luận trong luồng này thật đáng ngạc nhiên.
      Con người, kể cả các chuyên gia nổi tiếng trong lĩnh vực của mình, cũng mắc rất nhiều sai lầm, đôi khi là những sai lầm rất đắt giá và nhìn lại thì hiển nhiên trong chính lĩnh vực chuyên môn của họ.
      Thế nhưng khi một LLM được huấn luyện trên kho ngữ liệu chứa đầy sự ngốc nghếch của con người lại đi nước bất hợp lệ trong cờ vua, bộ não lập tức phản ứng: “Tôi đâu có đi nước bất hợp lệ trong cờ vua; máy tính mà làm vậy thì sao gọi là chơi cờ được?”
      Ít nhất, đây có vẻ là một ví dụ hoàn hảo về thiên kiến siêu nhận thức và lỗi quy kết cơ bản nói chung.
  • Bài này cũng có cùng vấn đề như bài trước. Tác giả hoàn toàn không cung cấp dữ liệu về tần suất nước đi bất hợp lệ
    Vì vậy không thể rút ra kết luận có ý nghĩa
    Nó giống như việc khẳng định LLM là bác sĩ chuyên khoa, nhưng lại lọc khỏi dữ liệu tất cả các trường hợp nó đưa ra lời khuyên y khoa sai

    • Tôi không nghĩ đó là điểm quá cốt lõi
      Sẽ thú vị nếu số lần thử nước đi bất hợp lệ khác biệt đáng kể giữa các cách tiếp cận, đặc biệt nếu khác biệt đó không tương quan với hiệu năng sau khi loại bỏ các nước đi bất hợp lệ, nhưng nó không làm lung lay đáng kể kết luận của bài viết
      Nếu chọn ngẫu nhiên từ tập các nước đi hợp lệ thì sẽ thành một kỳ thủ cờ vua cực kỳ tệ, nên nếu lấy mẫu từ đầu ra của LLM mà chơi tốt hơn nhiều, rõ ràng LLM đang cung cấp điều gì đó
      Việc tranh luận về định nghĩa năng lực riêng của LLM bằng cách nói rằng mọi lần thử nước đi bất hợp lệ phải được tính là thua có cảm giác là đi chệch khỏi trọng tâm
    • Nước đi cờ vua bất hợp lệ là thứ rất dễ phát hiện về mặt tính toán, nên hoàn toàn khác với việc lọc lời khuyên y khoa sai
    • Nếu có thể viết một script tự động loại bỏ lời khuyên y khoa sai thì phép so sánh đó có thể đúng
      Khi đó trên thực tế “LLM+script” sẽ trở thành bác sĩ chuyên khoa, nhưng điều đó có thể làm được với nước đi bất hợp lệ trong cờ vua chứ hiển nhiên không thể với việc đánh giá lời khuyên y khoa
    • 3-turbo-instruct có khoảng 5 nước đi bất hợp lệ trở xuống trong 8205 nước
      Không có ở đây, nhưng turbo instruct từng được đánh giá trước đây
      https://github.com/adamkarvonen/chess_gpt_eval
    • Quan sát sắc bén. Tương tự, Andrew Ng và nhóm Stanford University cũng từng chơi cùng trò overfit tỷ lệ train-test trong bài báo nổi tiếng ở Nature Medicine về trình độ bác sĩ tim mạch
      Tỷ lệ huấn luyện vượt 99% còn kiểm thử dưới 1%, nên còn không đạt mức cơ bản của kiểm chứng AI
      Ở hầu hết hội nghị AI, bài này có lẽ khó trụ nổi, nhưng nó được đăng trên Nature Medicine, tạp chí có chỉ số ảnh hưởng rất cao, và được trích dẫn nhiều trong lĩnh vực AI y tế
      https://www.nature.com/articles/s41591-018-0268-3
  • Câu “về nhiều mặt, nó giống việc đi tìm một câu thần chú hơn là kỹ thuật” vẫn đúng với ấn tượng của tôi về LLM nói chung
    Việc nó hoạt động thì thật đáng kinh ngạc, nhưng tôi hy vọng đột phá công nghệ tiếp theo sẽ không lần nào cũng cho cảm giác như đang ở trong một phim khoa học viễn tưởng dở

  • Tôi không nghĩ là “ai cũng sai”
    Không chỉ mình tôi nói điểm này, nên tôi ngạc nhiên khi lý thuyết này không có trong danh sách; 7 ngày trước tôi cũng đã viết như sau: https://news.ycombinator.com/item?id=42145710
    “Bất cứ thứ gì đã trở thành benchmark công khai thì nên được xem là đã bị nhắm tới cụ thể trong quá trình huấn luyện.”
    Điều này khác với lý thuyết “gian lận/thay thế đầu ra LLM” mà bài viết có nhắc đến và phản bác
    Bài viết tiếp theo củng cố suy đoán này. OpenAI đã huấn luyện mô hình nền tảng bằng dữ liệu ván cờ nhiều hơn và tốt hơn so với các mô hình mở, và trong mục A.2 của một bài báo nào đó, các tác giả OpenAI nói rằng GPT-4 đã được huấn luyện bằng các ván cờ ở ký hiệu PGN của người chơi Elo từ 1800 trở lên
    Việc OpenAI bổ sung dữ liệu huấn luyện bằng dữ liệu của những tác vụ mà mọi người có thể sẽ thực sự thử là hoàn toàn hợp lý
    Điều này cũng không phi đạo đức. Không có dataset nào thật sự “trung lập”, nên nếu dù sao cũng phải lựa chọn, thì chẳng có lý do gì để không huấn luyện cho nó trả lời tốt những thứ có khả năng hữu ích

    • Tôi từng đề xuất rằng có thể họ đã huấn luyện mô hình để xem việc huấn luyện cho giỏi cờ vua có giúp ích cho trí tuệ tổng quát hay không, giống như học toán và code cũng cải thiện những khía cạnh khác của tư duy logic
      Dù sao thì OpenAI có nhiều kinh nghiệm về AI chơi game
      https://news.ycombinator.com/item?id=42145215
    • Điều này nghe hơi hoang tưởng
      Người ta không huấn luyện một LLM lớn cực kỳ đắt đỏ trên một dataset khổng lồ chỉ để kỳ vọng một blogger nào đó tình cờ phát hiện hiệu năng vụng về ở mức Elo 1800 rồi tweet về nó
      Cờ vua cũng không phải benchmark LLM chuẩn đến mức trở thành mục tiêu Goodhart, và nhìn chung OpenAI đã cố giải quyết vấn đề theo cách đúng đắn hơn là dùng đường tắt hay gian lận
      Dòng GPT hoàn toàn có thể overfit dễ dàng lên các benchmark chuẩn hoặc phản ví dụ, lại còn có giá trị PR lớn hơn nhiều, nhưng họ đã không overfit nghiêm trọng. Chẳng hạn việc huấn luyện cho những thứ như “bài toán quả dâu” hẳn là rất dễ
      Ngược lại, một số nhà cung cấp LLM khác lại tụt điểm mạnh hơn nhiều trong các bài báo chống ghi nhớ máy móc
      Ngoài ra, chính bài báo nhắc đến dataset đó có mục đích nghiên cứu rõ ràng, và cờ vua được quan tâm như một sinh vật mô hình để phân tích sự chỉ đạo và mô hình hóa thế giới của LLM, vì có thể dùng oracle
      Bài báo của DeepMind về LLM chơi cờ vua khi thiếu thời gian cũng không phải là một phần của kế hoạch xảo quyệt nhằm khiến Gemini giả vờ có kỳ lực để dùng cho marketing GCP
    • Cách giải thích đơn giản và hợp lý nhất là OpenAI đã thay đổi mục tiêu huấn luyện
      Ban đầu có thể họ nghĩ cờ vua là hay, còn ngày mai có thể họ nghĩ cờ vây hoặc khả năng làm thơ là hay
    • Tôi mong cách tiếp cận này cũng được dùng trong các lĩnh vực thực dụng hơn
      Tức là bất kể lĩnh vực nào, hãy đưa nhiều nội dung của chuyên gia vào dữ liệu huấn luyện hơn so với nội dung “nghiệp dư”
  • Trong prompt không có câu “hãy cố thắng ván đấu”, nhưng kết quả lại được đo bằng việc LLM thắng nhiều đến mức nào
    Liệu điều này có được ngầm bao hàm trong prompt “Bạn là một đại kiện tướng cờ vua” không?
    Có phải ở đâu đó trong quá trình huấn luyện LLM tồn tại mẫu “đã là trò chơi thì luôn cố thắng” không?
    Nếu chỉ nói hãy thắng, liệu tỉ lệ thắng có tăng không?

    • Có vẻ như đang đặt quá nhiều trọng số vào ý định. LLM không có ý định; nó là một mô hình toán học được huấn luyện để tạo ra đầu ra có vẻ hợp lý nhất
      Trong các ví dụ và phần giải thích về ván cờ, gần như lúc nào mỗi kỳ thủ cũng cố thắng, nên đi nước thắng chỉ đơn giản là đầu ra logic nhất
      Vì vậy, ngay cả khi prompt nói rõ hãy thắng, tôi không nghĩ hiệu năng sẽ cải thiện đáng kể
      Ngược lại, điều thú vị là chuyện gì sẽ xảy ra nếu bảo nó đi nước thua hoặc nước dở. Việc nó có làm được hiệu quả không, và các nước đi vẫn phần lớn hợp lệ hay không, có thể cho thấy rõ hơn nó phụ thuộc đến mức nào vào các khái niệm đã từng thấy
    • Tôi cho rằng câu prompt “Bạn là một đại kiện tướng cờ vua” rõ ràng có ngầm bao hàm điều đó
      Câu đó sẽ làm tăng xác suất sinh ra các token của nước đi tốt nhất có thể
    • Dù đưa vào prompt thì có lẽ cũng gần như chỉ là trang trí
      Khả năng sinh chuỗi cờ vua của mô hình bị giới hạn bởi trình độ chuyên môn có trong tập các ván đấu của dữ liệu huấn luyện
      Ngay cả nếu có lẫn một vài ván mà một số kỳ thủ cố tình thua, số đó có lẽ rất nhỏ, và vì các ván cờ không chú thích ý định của kỳ thủ, nên dù prompt bảo thắng hay thua thì LLM cũng không thể phân biệt để nắm bắt được
      Có thể biết bằng cách yêu cầu LLM cố tình thua. Theo trải nghiệm của tôi, ChatGPT cố tự dàn dựng để bị chiếu hết kiểu Scholar's mate, nhưng nếu đối thủ không chiều theo, nó bắt đầu ăn các quân không được bảo vệ của đối phương như thể đang ngầm cố thắng
      Khi hỏi “tại sao?”, như thường lệ nó đưa ra hợp lý hóa sau sự kiện
    • Khi yêu cầu sinh mã, ta cũng không chỉ nói “Bạn là chuyên gia Python và đây là đoạn mã”, mà nếu nói hướng kết quả mong muốn thì thường cho kết quả tốt hơn
      Vì vậy tôi thấy ngạc nhiên khi không có những cách diễn đạt như “và hãy thắng” hay “đen thắng”
    • Hơn nữa, prompt cũng ghi “chọn nước đi tiếp theo” chứ không phải “nước đi tốt nhất”
      Sẽ khá buồn cười nếu vì học tăng cường mà LLM cố tình tránh làm con người khó chịu vì thua trong trò chơi
  • Việc cải thiện prompt là tốt, nhưng vẫn bỏ sót hai khả năng cải thiện rất lớn
    Thứ nhất, trước khi đề xuất nước đi, hãy để mô hình giải thích thế cờ hiện tại và kế hoạch phía trước. Điều này khiến mô hình thực sự suy nghĩ nhiều hơn; giống o1, nhưng ở đây có thể bảo đảm xử lý tập trung hơn
    Thứ hai, ở mỗi bước, hãy để nó thực sự vẽ bàn cờ ASCII. Dạng bàn cờ + nước đi có thể ổn định và dễ xử lý hơn so với danh sách 20 nước, nên số nước hợp lệ có thể tăng

    • Tôi không nghĩ việc vẽ bàn cờ ASCII sẽ tạo khác biệt lớn
      “Đồ họa” hai chiều như ASCII art khá xa lạ với mô hình ngôn ngữ, và vì mô hình nhận văn bản như một luồng token bao gồm cả xuống dòng, quan hệ “dọc” giữa các dòng không rõ ràng như con người nhìn thấy
      Ngay cả khi trong cửa sổ ngữ cảnh có sơ đồ bàn cờ, khả năng cao nó không giúp ích nhiều cho mô hình trong việc suy luận ván đấu
      Thay vào đó, bắt nó liệt kê vị trí từng quân bằng văn bản thường, như “mã đen ở c5”, có thể phù hợp hơn để củng cố nhận thức thế cờ
    • Điểm số 2 có lẽ sẽ không giúp ích vì những lý do người khác đã nêu
      Điểm số 1 chắc chắn đáng thử, và còn có những biến thể hiệu quả tùy theo từng mô hình
      Với các mô hình Anthropic, tài liệu khuyến nghị dùng ký pháp XML để gắn nhãn và phân loại các phần quan trọng của đầu vào. Kiểu cấu trúc mềm này dường như cải thiện kết quả của các mô hình Claude, và có lẽ mô hình đã được huấn luyện đặc biệt để nhận biết nó
      Tham khảo: https://docs.anthropic.com/en/docs/build-with-claude/prompt-...
      Với mô hình Anthropic, prompt cuối cùng có thể đại loại là “Bạn là đại kiện tướng cờ vua. Hãy xem ván cờ chưa hoàn tất trong các thẻ, lặp lại toàn bộ ván đấu rồi đưa ra một nước mới bằng ký pháp đại số chuẩn, và trước khi đưa biên bản mới, hãy giải thích suy luận trong một khối thẻ”
      Kiểu prompt này được thiết kế để đem lại cải thiện rõ rệt trên các mô hình Anthropic
      Trớ trêu là dù đã dùng Claude 3.5 Sonnet rất nhiều trong vài tháng, tôi mới phát hiện ra điều này vài tuần trước. RTFM vẫn là một kỹ năng hữu ích
      Các mô hình OpenAI cũng có thể có affordance tương tự: đơn giản nhưng ít được biết đến
    • Chuỗi suy nghĩ giúp ích cho nhiều bài toán, nhưng lại làm hiệu năng chơi cờ của GPT giảm mạnh
      Trong thí nghiệm cờ vua của tôi 1,5 năm trước, mẹo lặp lại toàn bộ chuỗi nước đi là kỹ thuật tốt nhất khi không tinh chỉnh
    • Vì cách diễn đạt này tương đối hiếm trong dữ liệu huấn luyện, nó có khả năng làm phản hồi tệ đi hơn là cải thiện
      Tôi muốn xem kết quả, nhưng nếu tốt lên thì sẽ khá bất ngờ
    • Tôi cho rằng việc cải thiện khi bắt nó lặp lại tất cả các nước đi trước đó là vì đã cho LLM thêm thời gian và không gian để suy nghĩ
      Có giả thuyết rằng nếu cho thêm thời gian và không gian theo cách khác thì hiệu năng cũng có thể tốt hơn
      Ví dụ như cho thấy thế cờ hiện tại, yêu cầu phân tích thế cờ, liệt kê các điểm yếu và điểm mạnh chính, liệt kê các chiến lược khả dĩ, chọn một chiến lược trong số đó, rồi cuối cùng chọn nước đi
      Nói cách khác, đừng bắt nó phun ra nước đi ngay, mà khiến nó thực sự suy nghĩ. Ở đây ví dụ sẽ là điểm then chốt
      Những ý tưởng như vậy đã được chứng minh là hoạt động tốt trong bài báo ReAct và bài báo về chuỗi suy nghĩ; cũng có thể gắn thêm cách lặp N lần và dừng khi có câu trả lời đa số. Ý tưởng này lấy từ bài báo về tự nhất quán của chuỗi suy nghĩ
  • Đoạn “tinh chỉnh thì có ích và ví dụ cũng có ích, nhưng chính ví dụ làm cho tinh chỉnh trở nên không cần thiết, chứ không phải ngược lại” rất thú vị
    Trong trường hợp cụ thể này, đơn giản là cung cấp ví dụ tương đương với tinh chỉnh
    Với tôi đây là một phát hiện lớn, nên sau này tôi sẽ thử dùng ví dụ thường xuyên hơn

    • Trực giác cho thấy điều này rất đúng
      Khó giải thích lý do, nhưng tôi luôn có linh cảm rằng tinh chỉnh bị đánh giá quá cao
      Một lý do có thể là vì ví dụ nằm “ngay đó”, nên mặc nhiên nhận trọng số lớn hơn nhiều so với các neuron đã được tinh chỉnh
    • Tôi đồng ý với nhận định rằng cung cấp ví dụ hữu ích hơn tinh chỉnh
      Trong trường hợp đồ chơi này thì không quá quan trọng, nhưng cần nhớ rằng mỗi ví dụ đưa vào đầu vào sẽ làm tăng thời gian và chi phí dự đoán so với tinh chỉnh
  • Nên dừng các thử nghiệm kiểu dò dẫm trong bóng tối bằng LLM thương mại
    Để nhìn thấy tận gốc vấn đề này, sẽ rất thú vị nếu thử huấn luyện LLM chỉ bằng các ván cờ vua. Có thể cho Stockfish đấu với chính nó để tạo dữ liệu tổng hợp vô hạn, rồi trộn thêm một chút ví dụ hội thoại về cờ vua như bình luận cờ, “trên bàn còn mấy quân tốt?”, “xe của tôi ở đâu?”, “hãy vẽ bàn cờ” để xem mô hình có biểu diễn bàn cờ hay không
    Tôi không tin rằng “hiện tượng nổi lên”, năng lực ngôn ngữ tổng quát, hay khả năng giả vờ có năng lực là cần thiết để chơi cờ vua. Giỏi cờ vua không có nghĩa là thông minh ở những thứ khác, và ngược lại cũng vậy
    Một thử nghiệm như thế này cũng có thể chứng minh rằng tôi sai
    Bài báo xuất hiện khoảng một tuần trước https://arxiv.org/pdf/2411.06655 có vẻ đạt kết quả tốt với Llama được tinh chỉnh
    Tôi cũng thích bài báo này về năng lực bình luận cờ vua: https://arxiv.org/abs/2410.20811

    • Việc dự đoán nước đi tiếp theo theo chính sách cờ vua của chuyên gia chỉ là học bắt chước đã được nghiên cứu kỹ
      Cũng có thể thêm phần thưởng còn lại để mạng học được nước đi nào xuất hiện trong ván hay và ván dở; khi đó nó trở thành một khung học tăng cường ngoại tuyến như Decision Transformer
      Tôi cho rằng kỹ năng cờ vua hoàn toàn vô dụng đối với LLM nói chung, cũng không phải là hiện tượng nổi lên; nó chỉ tiêu tốn băng thông gradient và không gian tham số cho màn biểu diễn ấn tượng này mà thôi
      Điều đó là rõ ràng qua việc các LLM không được huấn luyện chuyên biệt cho cờ vua chơi cờ không giỏi
  • Sẽ rất thú vị nếu tạo một tokenizer được tối ưu cho biểu diễn nước đi cờ vua, rồi huấn luyện LLM từ đầu bằng các ván của Stockfish
    Dùng tokenizer tùy chỉnh sẽ cải thiện chất lượng với cùng kích thước mô hình
    Không cần lãng phí nhiều tầng cho mã hóa và giải mã, và biểu diễn tiềm ẩn “tự nhiên” cũng có thể trực quan hơn