Đặt vấn đề
Có một bi kịch rất nhỏ của loài người.
Một người biết đường đứng trước một người không biết đường.
Người biết đường chỉ tay:
“Đi thẳng, tới cái ngã ba quen quen thì quẹo trái, chạy thêm tí nữa là thấy.”
Người kia hỏi:
“Ngã ba nào?”
Và người biết đường bắt đầu khó chịu.
“Trời ơi, cái ngã ba đó mà cũng không biết?”
Khoảnh khắc ấy, một con quỷ bé tí vừa chui ra khỏi bộ não.
Tên của nó là lời nguyền của kiến thức — Curse of Knowledge.
Nó không làm chúng ta ngu đi.
Ngược lại, nó xuất hiện chính vì chúng ta đã biết quá nhiều.
Một khi một thứ đã nằm gọn trong đầu, bộ não rất khó tưởng tượng lại cảm giác của một người chưa từng biết thứ đó.
Bạn nhìn một biểu tượng bánh răng và thấy ngay:
Settings.
Mẹ bạn nhìn nó và thấy:
Một cái bánh xe kỳ lạ.
Bạn nhìn dòng:
1HTTP 401 Unauthorized
và nghĩ:
Chắc token hết hạn.
Một người bình thường nhìn nó và nghĩ:
Máy tính đang giận mình.
Cùng một màn hình.
Cùng vài chục pixel.
Nhưng trong hai cái đầu là hai vũ trụ hoàn toàn khác nhau.
Không phải vì một người thông minh hơn người kia.
Mà bởi vì một người đang mang trong đầu một khối kiến thức vô hình mà chính họ cũng quên mất rằng mình đang mang nó.
Và đó mới là phần đáng sợ.
Lời nguyền của kiến thức là gì?
Lời nguyền của kiến thức (Curse of Knowledge) là một dạng thiên kiến nhận thức (cognitive bias): khi chúng ta đã biết một thông tin nào đó, chúng ta rất khó đặt mình vào trạng thái tinh thần của một người chưa biết thông tin ấy.
Nói đơn giản hơn:
Sau khi biết đáp án, ta rất khó nhớ cảm giác lúc mình còn chưa biết đáp án.
Giả sử trước mặt có một đứa trẻ sáu tuổi.
Bạn đưa cho nó một hộp đồ chơi và bảo:
“Nhấn nút pair để thiết bị kết nối Bluetooth.”
Câu này với dân công nghệ nghe chẳng có gì đặc biệt.
Nhưng với đứa trẻ:
- “pair” là cái gì?
- Bluetooth là cái gì?
- kết nối nghĩa là sao?
- tại sao phải kết nối?
- nút nào?
- làm sao biết đã kết nối?
Một câu có mười hai chữ của bạn có thể chứa năm khái niệm mà người nghe chưa từng sở hữu.
Nhưng vấn đề là bộ não bạn không còn cảm thấy năm khái niệm đó khó nữa.
Chúng đã bị nén lại.
Giống như một thư mục 10 GB được zip thành một file nhỏ.
Bạn nói:
“Chỉ cần dùng API.”
Nhưng bên trong chữ API đối với bạn có thể chứa:
1HTTP
2→ endpoint
3→ authentication
4→ request
5→ response
6→ JSON
7→ status code
8→ timeout
9→ retry
Chín khái niệm biến mất sau ba chữ cái.
Người nói thấy câu của mình rất ngắn.
Người nghe thì vừa bị một chiếc xe tải kiến thức cán ngang mặt.
Thí nghiệm gõ nhịp: Một bài hát tồn tại trong đầu chúng ta
Một trong những minh họa nổi tiếng nhất cho hiện tượng này đến từ nghiên cứu của Elizabeth Newton tại Stanford.
Thí nghiệm rất đơn giản.
Một người được gọi là tapper.
Người này chọn một bài hát quen thuộc, ví dụ:
Happy Birthday.
Sau đó họ không được hát.
Họ chỉ được dùng ngón tay gõ nhịp xuống bàn:
1cốc cốc — cốc cốc cốc — cốc cốc...
Một người khác, gọi là listener, phải đoán bài hát.
Bây giờ có một chuyện rất buồn cười xảy ra.
Người gõ nghe nguyên bài hát trong đầu.
Trong đầu họ có:
1Happy birthday to you...
2Happy birthday to you...
Có giai điệu.
Có cao độ.
Có nhịp điệu.
Có ký ức về sinh nhật.
Có tiếng người hát.
Có bánh kem.
Có mấy đứa trẻ đang la hét.
Nhưng tất cả những gì bay ra ngoài thế giới vật lý chỉ là:
1cốc
2cốc
3cốc
Người gõ thường đánh giá quá cao khả năng người nghe có thể đoán được bài hát.
Tại sao?
Bởi vì họ không thể không nghe giai điệu trong đầu mình.
Một khi não đã biết bài hát, tiếng gõ không còn đơn thuần là tiếng gõ nữa.
Nó được bộ não tự động phủ thêm một lớp ý nghĩa.
Đó chính là lời nguyền.
Người viết phần mềm nhìn icon:
1⚙
và nghe thấy trong đầu:
Cấu hình hệ thống.
Người dùng chỉ thấy:
Cái bánh răng.
Người quản lý nói:
“Ưu tiên optimize conversion funnel ở top-of-funnel.”
Trong đầu ông ấy là cả một biểu đồ.
Nhân viên mới chỉ nghe thấy vài từ tiếng Anh đang bay quanh căn phòng như những con ruồi.
Kiến thức không chỉ được thêm vào, nó thay đổi cách chúng ta nhìn thế giới
Đây là phần thú vị nhất.
Chúng ta thường tưởng việc học giống như bỏ sách vào một cái tủ.
Hôm qua có 100 cuốn.
Hôm nay thêm một cuốn.
Cái tủ vẫn là cái tủ.
Nhưng bộ não không hoạt động như vậy.
Kiến thức mới có thể thay đổi cách chúng ta diễn giải thông tin cũ.
Một bác sĩ nhìn kết quả xét nghiệm khác một người bình thường.
Một nhạc công nghe một bản nhạc khác một người chưa học nhạc.
Một lập trình viên nhìn trang web khác một người dùng.
Một người chơi cờ nhìn bàn cờ không còn thấy 32 quân cờ riêng lẻ.
Họ thấy:
thế trận.
cấu trúc tốt.
đường tấn công.
quân yếu.
ô kiểm soát.
Có nghĩa là sau một thời gian dài học tập, thế giới trước mắt chúng ta thực sự trở thành một thế giới khác.
Không phải vật chất thay đổi.
Photon vẫn bay vào mắt như cũ.
Âm thanh vẫn là dao động của không khí.
Màn hình vẫn chỉ là hàng triệu pixel phát sáng.
Nhưng bộ não đã xây một bộ giải mã mới.
Và đến một ngày, chúng ta quên rằng ngày xưa mình từng không có bộ giải mã đó.
Tại sao bộ não lại mắc lỗi này?
Giả sử tôi nói:
Docker container không phải virtual machine.
Nếu bạn đã làm Docker nhiều năm, câu này nghe cực kỳ bình thường.
Nhưng để thực sự hiểu câu đó, một người mới có thể cần biết:
- process là gì;
- operating system là gì;
- kernel là gì;
- namespace là gì;
- cgroup là gì;
- filesystem isolation là gì;
- virtual machine hoạt động ra sao.
Nhưng bộ não chuyên gia không mở từng ngăn kéo này mỗi lần nói.
Nó gom chúng lại thành một chunk.
Đây là một cơ chế cực kỳ hữu ích.
Nếu mỗi lần lái xe chúng ta phải suy nghĩ:
1co cơ bắp chân
2→ tác động bàn đạp
3→ tăng áp lực dầu
4→ má phanh ép vào đĩa
5→ giảm vận tốc bánh xe
thì có lẽ nhân loại đã tuyệt chủng ở ngã tư đầu tiên.
Bộ não phải nén.
Nó biến một chuỗi hành động phức tạp thành:
đạp phanh.
Lập trình cũng vậy.
Ban đầu:
1for item in items:
có thể là một câu thần chú.
Sau vài năm, mắt chúng ta lướt qua nó mà gần như không cần xử lý.
Kiến thức càng nhiều, quá trình chunking càng mạnh.
Đó vừa là sức mạnh, vừa là cái bẫy.
Chuyên gia có thể xử lý lượng thông tin khổng lồ vì họ đã nén hàng nghìn chi tiết thành vài khái niệm lớn.
Nhưng chính vì đã nén nên họ không còn nhận ra bên trong mỗi khái niệm lớn ấy có bao nhiêu thứ mà người mới chưa biết.
Khi lời nguyền xuất hiện trong lập trình
Có lẽ nơi dễ gặp hiện tượng này nhất là tài liệu kỹ thuật.
Một README viết:
1Clone repository.
2
3Configure environment variables.
4
5Run migrations.
6
7Start the application.
Xong.
Tác giả cảm thấy:
Rõ như ban ngày.
Người mới clone project về nhìn màn hình.
1Configure environment variables.
Rồi ngồi im.
Environment nào?
Biến nào?
Lấy ở đâu?
File .env có sẵn không?
Database chạy ở đâu?
Migration bằng lệnh gì?
Có cần Docker không?
Port nào?
Password nào?
Tác giả không cố tình giấu.
Tác giả thực sự không nhận thấy những lỗ hổng này nữa.
Trong đầu tác giả:
1Configure environment variables
đã bung thành:
1copy .env.example
2→ đổi DATABASE_URL
3→ thêm Redis host
4→ lấy API key
5→ kiểm tra port
6→ docker compose up
Nhưng người đọc không sở hữu chương trình giải nén đó.
Vì vậy một nguyên tắc rất hay khi viết documentation là:
Đừng viết theo những gì mình biết. Hãy viết theo những gì người đọc cần biết để thực hiện bước tiếp theo.
Hai thứ này không giống nhau.
Lời nguyền trong thiết kế sản phẩm
Giả sử một đội phát triển vừa làm một ứng dụng.
Họ đã dành sáu tháng xây dựng nó.
Mỗi ngày họ nhìn vào giao diện hàng chục lần.
Cuối cùng màn hình có:
1[+] ⋮ ⚙
Một người trong nhóm nói:
“UI vậy quá rõ rồi.”
Đây là một câu cực kỳ nguy hiểm.
Bởi vì thứ nhóm phát triển đang nhìn không phải giao diện.
Họ đang nhìn giao diện cộng với sáu tháng ký ức.
Họ nhớ:
- nút này được tạo ra để làm gì;
- màn hình trước dẫn đến đâu;
- icon kia có ý nghĩa gì;
- logic phía sau hoạt động ra sao;
- tại sao thiết kế lại như vậy.
Người dùng lần đầu không có bất kỳ thứ nào trong số đó.
Họ chỉ có một màn hình lạnh lẽo.
Ba icon.
Và vài giây để đoán.
Đây cũng là lý do usability testing quan trọng.
Không phải vì người làm sản phẩm ngu.
Ngược lại.
Chính vì họ biết sản phẩm quá rõ nên họ không còn đủ ngu để sử dụng nó giống một người mới nữa.
Muốn kiểm tra trải nghiệm của người chưa biết, ta cần một người thực sự chưa biết.
Nghe hơi ngớ ngẩn.
Nhưng rất nhiều sản phẩm thất bại chỉ vì quên điều ngớ ngẩn này.
Lời nguyền của người quản lý
Hiện tượng này còn nguy hiểm hơn khi đi vào tổ chức.
Một người quản lý nói:
“Cái này làm giống pipeline cũ, chỉ khác phần attribution.”
Anh ta hiểu câu đó.
Hai người làm lâu năm hiểu.
Một nhân viên mới gật đầu.
Không phải vì hiểu.
Mà vì trong phòng họp có một lực hấp dẫn kỳ lạ khiến con người rất thích gật đầu.
Ba ngày sau, sản phẩm chạy lệch.
Người quản lý hỏi:
“Ủa, hôm trước anh nói rõ rồi mà?”
Đúng.
Anh đã nói.
Nhưng nói ra một câu và truyền được mô hình trong đầu mình sang đầu người khác là hai việc hoàn toàn khác nhau.
Con người chưa phát minh USB cho não.
Chúng ta chỉ có ngôn ngữ.
Một công nghệ khá cổ.
Băng thông thấp.
Nhiễu nhiều.
Packet loss cực mạnh.
Lại không có checksum.
Thỉnh thoảng người nhận còn giả vờ ACK dù packet chưa tới.
Nhưng chúng ta vẫn họp mỗi ngày và tin rằng mọi thứ đã được đồng bộ.
Cũng khá lạc quan.
Hindsight bias và lời nguyền của kiến thức
Lời nguyền của kiến thức có họ hàng khá gần với hindsight bias — thiên kiến nhìn lại.
Ví dụ một sự kiện đã xảy ra.
Sau khi biết kết quả, chúng ta dễ nói:
“Tôi biết ngay mà.”
Một cổ phiếu giảm mạnh:
“Nhìn chart là biết rồi.”
Một startup thất bại:
“Mô hình đó rõ ràng không thể sống được.”
Một hệ thống sập:
“Kiến trúc kiểu đó sớm muộn gì cũng chết.”
Nhưng trước khi sự kiện xảy ra, thế giới chứa rất nhiều khả năng.
Sau khi biết kết quả, bộ não vô thức viết lại quá khứ sao cho kết quả ấy trông có vẻ hiển nhiên hơn.
Nó giống như đọc truyện trinh thám lần thứ hai.
Khi đã biết hung thủ là ông quản gia, mọi hành động của ông quản gia đều đáng ngờ.
Nhưng lần đầu đọc, bạn đâu có thấy vậy.
Kiến thức về tương lai đã chui ngược về quá khứ và thay đổi cách ta nhìn những dấu hiệu cũ.
Đó cũng là một dạng lời nguyền.
Người càng giỏi càng dễ giải thích khó hiểu?
Không hẳn.
Một chuyên gia có nguy cơ mắc lời nguyền kiến thức mạnh hơn vì khoảng cách giữa họ và người mới lớn hơn.
Nhưng một chuyên gia giỏi giao tiếp có thể học cách chống lại nó.
Thậm chí những người giải thích xuất sắc nhất thường là những người hiểu rất sâu.
Khác biệt nằm ở chỗ họ có khả năng đi xuống từng tầng.
Ví dụ thay vì nói:
“Transformer dùng self-attention.”
Họ có thể nói:
Giả sử trong câu:
“Con mèo nằm trên ghế vì nó mệt.”
Muốn hiểu chữ “nó”, mô hình phải nhìn những từ khác trong câu và xem từ nào liên quan.
Self-attention về trực giác làm một việc gần giống như vậy: mỗi token có thể nhìn sang các token khác và quyết định nên chú ý bao nhiêu.
Sau đó mới nói tới:
$$ Attention(Q,K,V) = softmax\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$
Người giải thích tốt không xóa bỏ phần phức tạp.
Họ chỉ xây một cái cầu để người đọc đi tới đó.
Kỹ thuật Feynman: Thử tháo lời nguyền khỏi đầu
Một cách rất tốt để chống lại lời nguyền kiến thức là Feynman Technique.
Ý tưởng đơn giản:
Hãy thử giải thích thứ mình biết như thể đang nói với một đứa trẻ.
Không phải biến mọi thứ thành chuyện trẻ con.
Mà là cấm mình trốn sau những từ chuyên môn.
Ví dụ:
Cache giúp giảm latency vì reuse previously computed results.
Nghe rất IT.
Bây giờ thử nói lại:
Giả sử mỗi lần khách gọi phở, đầu bếp đều phải chạy ra chợ mua hành.
Rất chậm.
Thế là ông ấy mua sẵn một bó hành để trong bếp.
Lần sau cần thì lấy ngay.
Cache cũng gần như vậy: giữ lại thứ có khả năng được dùng tiếp để khỏi làm lại từ đầu.
Đến đây một đứa trẻ cũng hình dung được.
Sau đó mới quay trở lại:
1CPU cache
2Redis
3CDN
4query cache
5KV cache
Ví dụ đời thường không thay thế kiến thức kỹ thuật.
Nó tạo ra một cái móc trong đầu để kiến thức kỹ thuật có chỗ bám vào.
Một câu hỏi cực mạnh: “Người này phải biết gì trước đó?”
Khi giải thích một vấn đề, tôi thấy có một câu hỏi rất hữu ích:
Để hiểu câu tiếp theo của mình, người đọc phải biết những gì?
Giả sử viết:
Vector database sử dụng approximate nearest neighbor search để tìm embedding tương đồng.
Câu này chứa ít nhất ba lớp:
1vector database
2↓
3embedding
4↓
5nearest neighbor
6↓
7approximate search
Nếu người đọc chưa biết embedding thì toàn bộ câu phía sau gần như vô nghĩa.
Vậy ta có thể đi ngược:
1văn bản
2↓
3biến thành một dãy số
4↓
5dãy số gần nhau biểu diễn nội dung gần nhau
6↓
7tìm những vector gần nhất
8↓
9dữ liệu quá lớn nên không thể so từng vector
10↓
11Approximate Nearest Neighbor
Bây giờ con đường có bậc thang.
Không phải một bức tường.
Đừng hỏi “Bạn hiểu chưa?”
Đây có lẽ là một trong những câu kiểm tra kiến thức tệ nhất:
“Hiểu chưa?”
Người nghe thường trả lời:
“Dạ hiểu.”
Ngay cả khi trong não họ đang có một con khỉ đánh trống.
Bởi vì “hiểu” là một trạng thái rất khó tự đánh giá.
Một cách tốt hơn là yêu cầu người nghe tái tạo mô hình.
Ví dụ:
“Em thử nói lại luồng này theo cách em hiểu xem.”
Hoặc:
“Nếu Redis chết thì theo em request tiếp theo sẽ xảy ra chuyện gì?”
Hoặc:
“Nếu dữ liệu tăng từ một triệu lên một tỷ record thì bước nào sẽ có vấn đề?”
Lúc đó ta không còn kiểm tra cảm giác hiểu.
Ta kiểm tra cấu trúc kiến thức thực sự trong đầu người kia.
Trong giáo dục, đây là khác biệt rất lớn.
Đọc một đoạn và thấy:
“À, hiểu rồi.”
chưa chắc là hiểu.
Đóng sách lại và tự giải thích được mới là chuyện khác.
Viết cho “mình của ba năm trước”
Có một kỹ thuật tôi khá thích khi viết tài liệu kỹ thuật:
Đừng viết cho mình hiện tại. Hãy viết cho mình của ba năm trước.
Người đó đủ thông minh.
Nhưng chưa biết thứ bạn vừa học.
Anh ta không cần bị coi như trẻ con.
Anh ta chỉ cần những mắt xích mà hiện tại bạn đang vô thức bỏ qua.
Giả sử hôm nay bạn biết Kubernetes.
Hãy nhớ lại ngày đầu tiên nhìn thấy:
1apiVersion: apps/v1
2kind: Deployment
3metadata:
4 name: api
Nó từng trông như chữ tượng hình.
Rồi vài tháng sau nó trở nên bình thường.
Chính khoảnh khắc “bình thường hóa” ấy là lúc lời nguyền bắt đầu.
Kiến thức mới không treo một tấm bảng:
CẢNH BÁO: BẠN VỪA QUÊN CẢM GIÁC KHÔNG BIẾT THỨ NÀY.
Nó chỉ lặng lẽ biến một điều kỳ lạ thành điều hiển nhiên.
Người mới đôi khi nhìn thấy thứ chuyên gia không còn thấy
Lời nguyền kiến thức còn tạo ra một nghịch lý thú vị.
Người mới biết ít hơn.
Nhưng đôi khi chính vì biết ít hơn nên họ đặt được những câu hỏi rất tốt.
“Tại sao phải làm bước này?”
Chuyên gia:
“Thì trước giờ vẫn vậy.”
Nguy hiểm.
Rất nhiều hệ thống chứa những quy trình tồn tại không phải vì chúng còn hợp lý, mà vì tất cả mọi người đã quen với chúng đến mức ngừng nhìn thấy chúng.
Một đứa trẻ hỏi:
“Tại sao?”
Người lớn trả lời.
Nó lại hỏi:
“Tại sao?”
Rồi lại:
“Tại sao?”
Đến lần thứ năm, người lớn bắt đầu nổi nóng.
Không hẳn vì đứa trẻ phiền.
Đôi khi bởi vì nó vừa đào tới một tầng mà chính người lớn cũng không biết câu trả lời.
Trong kỹ thuật có một phương pháp gần như vậy:
Five Whys.
Hệ thống chết.
Tại sao?
Database quá tải.
Tại sao?
Query quá nhiều.
Tại sao?
Service gửi lặp.
Tại sao?
Retry không có backoff.
Tại sao?
Thiết kế ban đầu không tính đến failure mode đó.
Cứ đào.
Cho tới khi thứ tưởng là hiển nhiên bắt đầu vỡ ra.
Kiến thức tạo ra quyền lực, nhưng cũng tạo ra khoảng cách
Có một tầng sâu hơn nữa.
Kiến thức không chỉ giúp ta hiểu thế giới.
Nó còn tạo ra ngôn ngữ riêng của từng cộng đồng.
Bác sĩ có ngôn ngữ của bác sĩ.
Luật sư có ngôn ngữ của luật sư.
Kỹ sư có ngôn ngữ của kỹ sư.
Tài chính có ngôn ngữ của tài chính.
Những từ chuyên môn rất cần thiết.
Không thể mỗi lần nói “database transaction” lại mất ba trang giải thích.
Nhưng jargon cũng tạo ra những bức tường.
Một nhóm người bắt đầu nói với nhau bằng những khối kiến thức đã được nén cực mạnh.
Người ngoài bước vào chỉ nghe:
vector search, MCP, agentic workflow, eventual consistency, idempotency…
Và cảm thấy mình ngu.
Trong khi có thể họ không ngu chút nào.
Họ chỉ chưa có từ điển.
Đây là điểm rất đáng nhớ:
Không hiểu một lời giải thích không nhất thiết nghĩa là người nghe kém thông minh. Đôi khi lời giải thích chỉ đang yêu cầu quá nhiều kiến thức nền mà không nói ra.
Một giáo viên giỏi hiểu điều này.
Một người quản lý giỏi hiểu điều này.
Một kỹ sư giỏi cũng nên hiểu điều này.
Làm sao giảm lời nguyền của kiến thức?
Không thể xóa hoàn toàn nó.
Bởi vì chúng ta không thể thật sự xóa kiến thức khỏi não rồi quay lại trạng thái ban đầu.
Nhưng có vài cách giảm tác động.
1. Bắt đầu từ vật thể thật
Trước abstract concept, hãy tìm một thứ có thể tưởng tượng.
Thay vì bắt đầu bằng:
Load balancing phân phối request giữa nhiều backend instance.
Có thể bắt đầu:
Một quán có một nhân viên thu ngân thì 100 người xếp hàng rất lâu. Nếu có bốn quầy, ta cần một người hoặc một cơ chế quyết định khách tiếp theo đi vào quầy nào.
Rồi mới đi lên:
1khách
2↓
3request
4
5quầy thu ngân
6↓
7server
8
9người phân luồng
10↓
11load balancer
Cái trừu tượng bắt đầu mọc từ cái cụ thể.
2. Mở rộng acronym lần đầu
Đừng viết:
CDC → Kafka → OLAP.
với người mới.
Ít nhất lần đầu hãy nói:
Change Data Capture (CDC) theo dõi thay đổi trong database và đẩy các thay đổi đó sang Kafka.
Sau đó mới dùng CDC.
Một chữ viết tắt tiết kiệm cho người viết hai giây.
Nhưng đôi khi lấy của người đọc mười phút Google.
3. Cho ví dụ trước định nghĩa
Con người thường học tốt hơn khi có một vật để bám.
Ví dụ:
Hai bài báo sử dụng từ khác nhau nhưng nói cùng một sự kiện.
Đó là bài toán.
Sau đó mới nói:
Ta cần đo semantic similarity.
Rồi embedding.
Rồi cosine similarity.
$$ \cos(\theta) = \frac{A \cdot B}{|A||B|} $$
Từ đời thường xuống toán học.
Không phải từ toán học ném thẳng vào mặt người đọc.
4. Để người chưa biết thử
Nếu bạn xây một tool cho người mới, hãy đưa nó cho một người chưa từng dùng.
Sau đó im lặng.
Đừng nói:
“À nút đó ở bên phải.”
Nếu phải nói câu ấy thì bạn vừa tìm được một vấn đề thiết kế.
Mỗi lần người dùng hỏi:
“Giờ làm gì?”
hãy coi đó là một datapoint.
Không phải sự thất bại của người dùng.
5. Quan sát nơi người khác hiểu sai
Một lời giải thích tốt không chỉ cung cấp thông tin.
Nó còn đoán trước những hiểu nhầm.
Ví dụ khi nói về AI:
Model có 1 nghìn tỷ parameter.
Người mới dễ nghĩ cả 1 nghìn tỷ parameter đều được sử dụng cho mỗi token.
Nếu đó là mô hình Mixture-of-Experts thì chưa chắc.
Vậy cần nói thêm:
Tổng số parameter và số parameter active mỗi token là hai khái niệm khác nhau.
Những câu như vậy cực kỳ giá trị vì chúng vá những hố mà chuyên gia rất dễ bước qua.
Nhưng đừng đơn giản hóa tới mức sai
Chống lời nguyền kiến thức không có nghĩa là biến mọi thứ thành:
AI giống bộ não con người.
Blockchain giống quyển sổ.
Database giống Excel.
Ẩn dụ chỉ là cái cầu.
Đừng xây nhà trên cái cầu.
Ví dụ nói:
Cache giống việc để sẵn đồ thường dùng trên bàn.
Ổn.
Nhưng cache còn có:
- eviction;
- consistency;
- invalidation;
- TTL;
- capacity;
- race condition.
Vì vậy sau khi người đọc hình dung được trực giác, ta phải nói:
Đây chỉ là cách hình dung đơn giản. Trong hệ thống thật, cache phức tạp hơn khá nhiều.
Giải thích đơn giản không phải là cắt bỏ sự thật.
Nó là sắp xếp sự thật theo đúng thứ tự mà bộ não có thể hấp thụ.
Có lẽ hiểu thật sự là có khả năng quay trở lại
Có một nghịch lý rất đẹp ở đây.
Lúc mới học, ta không thể giải thích vì chưa hiểu.
Khi biết một chút, ta giải thích bằng rất nhiều thuật ngữ.
Khi hiểu sâu hơn nữa, đôi khi ta lại có thể nói bằng những từ cực kỳ đơn giản.
Không phải vì vấn đề đã đơn giản.
Mà vì ta đã hiểu cấu trúc của nó đủ sâu để biết phần nào là xương sống, phần nào chỉ là da thịt.
Richard Feynman nổi tiếng không phải vì ông biến vật lý thành trò trẻ con.
Ông có khả năng đi từ:
một chiếc đĩa xoay,
một nam châm,
ánh sáng,
nước,
rồi từ những thứ rất bình thường ấy dẫn người nghe xuống những tầng cực sâu của vật lý.
Đó có lẽ là một trong những dấu hiệu đẹp nhất của hiểu biết.
Không phải dùng được từ khó.
Mà là có thể đứng trên đỉnh núi, quay xuống, nhìn thấy từng khúc đường mà mình từng bước qua.
Rồi chỉ cho người khác:
Đi từ đây.
Qua hòn đá kia.
Đến đoạn này sẽ hơi khó.
Nhưng đi tiếp được.
Tổng kết
Kiến thức là một thứ rất kỳ lạ.
Lúc chưa có nó, chúng ta nhìn thế giới và thấy hàng nghìn điều khó hiểu.
Khi có nó, thế giới trở nên rõ ràng hơn.
Nhưng đồng thời, một cánh cửa phía sau lặng lẽ đóng lại.
Ta không còn dễ dàng nhớ được cảm giác đứng ngoài căn phòng ấy.
Đó là lời nguyền của kiến thức.
Nó khiến lập trình viên viết tài liệu thiếu bước.
Khiến người quản lý tưởng rằng mình đã giải thích rất rõ.
Khiến giáo viên không hiểu tại sao học sinh không hiểu.
Khiến nhà thiết kế nhìn một cái nút và nghĩ rằng tất cả mọi người trên Trái Đất chắc chắn biết phải bấm vào đó.
Và có lẽ cách chống lại nó không phải là biết ít đi.
Mà là học thêm một kỹ năng khó hơn:
biết mình đang biết những gì.
Rồi thỉnh thoảng thử tháo từng lớp kiến thức ấy xuống.
Quay trở lại trước chiếc màn hình.
Trước những dòng code.
Trước một công thức.
Trước một cái bánh răng nhỏ bé ở góc màn hình.
Và tự hỏi:
Nếu hôm nay là lần đầu tiên mình nhìn thấy thứ này thì sao?
Một câu hỏi rất nhỏ.
Nhưng đôi khi nó là khoảng cách giữa một người biết rất nhiều và một người thực sự biết cách truyền kiến thức cho người khác.
Tham khảo
- Camerer, C., Loewenstein, G. & Weber, M. (1989). The Curse of Knowledge in Economic Settings: An Experimental Analysis. Journal of Political Economy.
- Newton, E. L. (1990). The Rocky Road from Actions to Intentions. Stanford University.
- Feynman, R. P. The Feynman Lectures on Physics.
- Heath, C. & Heath, D. (2007). Made to Stick: Why Some Ideas Survive and Others Die.
- Nickerson, R. S. (1999). How We Know—and Sometimes Misjudge—What Others Know: Imputing One’s Own Knowledge to Others. Psychological Bulletin.
Bình luận