- 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-instructlạ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-4ovàgpt-4o-minicũ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ướcgpt-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ủagpt-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-instructlạ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-instructnhậ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-instructlạ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-instructhiế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. Nc3hay 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-instructcũ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-instructlà mô 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.
- Ví dụ là cung cấp biên bản gồm
gpt-4o-minivàgpt-4olà mô 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-instructmạnh, còn các mô hình chat nhưgpt-4ovàgpt-4o-minitỏ 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 rae4 - Đầu vào
1. e4→ đầu rad5 - Đầu vào
1. e4 e5 2. Nf3 Nc6 3.→ đầu raBb5
- Đầu vào
- 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-minivàgpt-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-4otrô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-basecủa OpenAI, cũng không thể gọigpt-4oở completion mode, nên không thể so sánh trực tiếp - Thay vào đó, để
gpt-4ohà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ạng1. e4 e5 2. Nf7 - Cách này cải thiện hiệu năng cờ vua của
gpt-4o-minivàgpt-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-basekhô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 ra1. e4 - Đầu vào
1. d4→ đầu ra1. d4 d5 - Đầu vào
1. e4 e5 2. Nf3 Nc6 3.→ đầu ra1. e4 e5 2. Nf3 Nc6 3. Nf3
- Đầu vào
- 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 + exampleskhá ổn, nhưng không mạnh bằnggpt-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ảng1750 - 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-instructdù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-4oyếu hơn completion mode củagpt-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-basecó chơi tốt nếu mô phỏng như chat mode hay không, hoặc liệu gọigpt-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ớigpt-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
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.
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.
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.
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.
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ệ.
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 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ệ.
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.
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ì.
Để không bao giờ đi nước bất hợp lệ trong cờ tưởng thì phải khá giỏi.
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
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
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
Không có ở đây, nhưng turbo instruct từng được đánh giá trước đây
https://github.com/adamkarvonen/chess_gpt_eval
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
Dù sao thì OpenAI có nhiều kinh nghiệm về AI chơi game
https://news.ycombinator.com/item?id=42145215
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
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ứ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?
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
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ể
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
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”
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
“Đồ 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ố 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
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
Tôi muốn xem kết quả, nhưng nếu tốt lên thì sẽ khá bất ngờ
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
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
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
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