2 điểm bởi GN⁺ 2024-02-05 | 1 bình luận | Chia sẻ qua WhatsApp
  • Sau khi huấn luyện một decoder-only Transformer khoảng 10 triệu tham số trên TinyShakespeare, tác giả lần theo trạng thái nội bộ và thực nghiệm để xem kết quả tính toán sau self-attention được biến thành xác suất token tiếp theo như thế nào
  • Giả thuyết cốt lõi là mỗi khối Transformer liên kết prompt với một tập chuỗi cụ thể trong corpora huấn luyện, và phân phối tần suất của các token thực sự xuất hiện sau những chuỗi đó gần với dự đoán token tiếp theo của khối
  • Quy trình xấp xỉ được triển khai là tìm các chuỗi huấn luyện giống với đầu ra feed-forward network của từng khối, cộng dồn phân phối ký tự theo sau chúng, rồi tái dựng đầu ra mô hình bằng tổng có trọng số theo từng khối
  • Trên 20.000 prompt độ dài 10, Hellinger distance trung bình giữa đầu ra xấp xỉ và đầu ra Transformer thực là khoảng 0,17; khoảng cách giữa mô hình gốc và các mô hình thay thế cùng cấu trúc nhưng huấn luyện với seed khác là khoảng 0,11 ± 0,08
  • Phân tích này ủng hộ cách diễn giải rằng đầu ra feed-forward chiếm tỷ trọng lớn trong phép biến đổi của khối và attention ánh xạ prompt vào đúng lớp chuỗi huấn luyện, nhưng chưa rõ có thể khái quát vượt ra ngoài mô hình nhỏ hay không

Mô hình thử nghiệm và câu hỏi đặt ra

  • Tác giả triển khai và huấn luyện một Transformer khoảng 10 triệu tham số theo Andrej Karpathy trong Let’s build GPT: from scratch, in code, spelled out
    • Mã ngôn ngữ mô hình cốt lõi là từ công trình của Karpathy, còn phần phân tích nội bộ và mã phụ trợ là đóng góp riêng
    • Mã liên quan có tại transformer-experiments
  • Mô hình là một decoder-only Transformer gồm 6 khối
    • Dữ liệu huấn luyện là TinyShakespeare, gồm 40.000 dòng kịch Shakespeare
    • Sau khoảng 1 giờ huấn luyện trên GPU RTX 4000, mô hình sinh ra văn bản Shakespeare giả có cấu trúc khá hợp lý
  • Token ở đây không phải từ mà là ký tự
    • Kích thước từ vựng là 65, và mô hình dự đoán phân phối xác suất của ký tự sẽ xuất hiện sau prompt đầu vào
    • Ví dụ, sau 'my most gr', mô hình dự đoán ký tự tiếp theo là a với xác suất 0,819, e là 0,081, i là 0,059
  • Câu hỏi chính không phải về bản thân self-attention, mà là kết quả sau attention được biến thành xác suất token tiếp theo cuối cùng như thế nào

Cấu trúc khối và tỷ trọng của feed-forward network

  • Mỗi khối Transformer gồm multi-head self-attention và một feed-forward network
    • Theo cấu trúc PyTorch, đầu ra khối có dạng cộng x + self.sa(self.ln1(x)), rồi tiếp tục cộng x + self.ffwd(self.ln2(x))
    • Viết bằng biến trung gian, đầu ra khối có thể xem là x + sa_out + ffwd_out
  • Trong mô hình được phân tích, feed-forward network chiếm 65,71% tổng số tham số có thể huấn luyện
    • Tham số feed-forward: 7.089.408
    • Tổng tham số có thể huấn luyện: 10.788.929
  • Đầu ra của feed-forward network dường như là yếu tố chính biến đầu vào khối thành đầu ra
    • Ở các thực nghiệm sau đó, đầu ra feed-forward cho thấy ảnh hưởng đến phân phối xác suất cuối cùng lớn hơn so với chỉ đầu ra self-attention

Tìm chuỗi bằng các đầu ra feed-forward tương tự

  • Quy trình xấp xỉ dựa trên độ tương đồng đầu ra feed-forward giữa prompt và các chuỗi trong corpora huấn luyện
    1. Đưa prompt vào mô hình và lưu đầu ra feed-forward network của từng khối
    2. Với mỗi khối, tìm các chuỗi trong corpora huấn luyện có đầu ra feed-forward tương tự
    3. Cộng dồn phân phối tần suất của các token xuất hiện sau những chuỗi đó
    4. Lấy tổng có trọng số của các phân phối theo từng khối và chuẩn hóa để tạo phân phối xác suất
  • Với prompt minh họa 'And only l', ở khối 1 tác giả tìm được 94 chuỗi độ dài 10 có cosine similarity từ 0,95 trở lên với đầu ra feed-forward
    • Các chuỗi tìm được như hat only l, \nMy only l, I dearly l, ng Henry l, And only l, phần lớn kết thúc bằng y l hoặc ly l
    • Phân phối tần suất đã chuẩn hóa của các ký tự theo sau những chuỗi này rất giống với dự đoán ký tự tiếp theo của mô hình thực
  • Trong ví dụ 'And only l', xấp xỉ và dự đoán của mô hình khớp nhau khá sát
    • Mô hình: i 0,437, o 0,204, a 0,195, e 0,160
    • Xấp xỉ: i 0,389, o 0,250, a 0,222, e 0,139
    • Hellinger distance là 0,0711
  • Chỉ dùng một khối đôi khi sẽ thất bại
    • Với prompt 'hing tremb', nếu chỉ dùng khối 1 thì mô hình dự đoán l 0,999 nhưng xấp xỉ cho ra e 0,543, l 0,343, nên Hellinger distance là 0,6305
    • Khi phản ánh toàn bộ các khối, ở cùng ví dụ này xấp xỉ dự đoán l 0,997 và Hellinger distance giảm xuống 0,0233

Quy mô tính toán và tinh chỉnh thủ công

  • Để tăng hiệu quả, toàn bộ phân tích chủ yếu được thực hiện trên các chuỗi độ dài 10
    • Corpora huấn luyện có 1.115.394 ký tự, và có 858.923 chuỗi con duy nhất độ dài 10
    • Mỗi đầu ra feed-forward là một vector float32 384 chiều, với một vector từ mỗi trong 6 khối
  • Tác giả chọn ngẫu nhiên 20.000 chuỗi độ dài 10 làm prompt thử nghiệm
    • Với mỗi prompt và 858.923 chuỗi con duy nhất, cosine similarity theo từng khối được tính trước và lưu ra đĩa
    • Vì không có match đáng chú ý nào xuất hiện dưới cosine similarity 0,7, nên chỉ giữ trước các giá trị từ 0,7 trở lên
  • Ngưỡng similarity theo từng khối được chọn bằng tinh chỉnh thủ công
    • Khối 0: 0,95
    • Khối 1: 0,94
    • Khối 2: 0,85
    • Khối 3: 0,76
    • Khối 4: 0,81
    • Khối 5: 0,89
  • Khi gộp các phân phối tần suất theo từng khối, tác giả cũng dùng trọng số thủ công
    • Trọng số sử dụng là [0.01, 0.01, 0.1, 1.5, 6, 0.01]
    • Tác giả cũng thử tìm trọng số theo cách deep learning nhưng không thu được kết quả tốt hơn tinh chỉnh thủ công

Đánh giá trên 20.000 prompt

  • Với toàn bộ 20.000 prompt, tác giả tính Hellinger distance giữa phân phối xấp xỉ và phân phối đầu ra của mô hình
    • Trung bình: 0,1677
    • Độ lệch chuẩn: 0,1215
    • Nhỏ nhất: 0,0013
    • Lớn nhất: 0,9994
  • Hellinger distance đo mức độ chồng lấp giữa các phân phối xác suất; 0 là giống hệt nhau, 1 là không chồng lấp
  • Để so sánh chất lượng xấp xỉ, tác giả huấn luyện thêm 3 lần cùng kiến trúc nhưng với random seed khác
    • Seed mô hình gốc: 1337, training loss ước tính 0,9334, validation loss 1,5063
    • Alternate 1 seed: 1442, training loss 0,9293, validation loss 1,5038
    • Alternate 2 seed: 88, training loss 0,9294, validation loss 1,4991
    • Alternate 3 seed: 99999, training loss 0,9339, validation loss 1,4941
  • Hellinger distance trung bình giữa mô hình gốc và các mô hình thay thế là khoảng 0,11 ± 0,08
    • Original vs Alternate 1: 0,1064 ± 0,0823
    • Original vs Alternate 2: 0,1057 ± 0,0817
    • Original vs Alternate 3: 0,1053 ± 0,0828
  • Khoảng cách trung bình 0,17 giữa xấp xỉ và mô hình cao hơn 0,11 giữa các mô hình thay thế, nhưng vẫn nằm trong dải độ lệch chuẩn, nên được xem là một căn cứ cho thấy xấp xỉ hoạt động khá tốt

Diễn giải hoạt động bên trong Transformer

  • Mô hình có thể được xem là nhiều bước biến đổi không gian sau lớp embedding
    • 6 khối Transformer biến embedding đầu vào thành embedding đầu ra trong không gian embedding 384 chiều
    • LayerNorm cuối cùng và linear layer biến không gian embedding thành không gian logit 65 chiều, rồi softmax tạo ra xác suất token tiếp theo
  • Phép biến đổi bên trong mỗi khối có thể được xem như phép cộng vector
    • Đầu ra khối là tổng của đầu vào x, đầu ra self-attention sa_out và đầu ra feed-forward ffwd_out
    • Trong phân tích, tác giả quan sát thấy các vector đầu ra feed-forward nhìn chung có norm lớn hơn đầu ra self-attention, và ở từng khối hai đầu ra này thường chỉ về hướng khá giống nhau
  • Chỉ cần cộng các đầu ra feed-forward cũng đã cho ra vector đầu ra cuối cùng có hướng khá tương tự
    • Đầu ra chỉ dùng feed-forward có norm nhỏ hơn, nhưng hướng lại gần với đầu ra gốc
    • Do LayerNorm cuối cùng, khác biệt về norm không quá quan trọng đối với đầu vào của linear layer cuối
  • Kết quả này không có nghĩa là có thể loại bỏ phép tính self-attention
    • Feed-forward network nhận đầu ra self-attention trong đầu vào của nó, theo dạng ffwd_out = self.ffwd(self.ln2(x + sa_out)), nên nếu bỏ self-attention thì chính đầu ra feed-forward cũng sẽ thay đổi

Giả thuyết token subspace

  • Một embedding cụ thể có thể khiến mô hình dự đoán gần như chắc chắn một token nhất định
    • Ví dụ, có thể học một embedding đưa vào LayerNorm và linear layer sau khối cuối để xác suất token a gần bằng 1
    • Trọng số Transformer được giữ cố định và chỉ tối ưu tensor embedding
  • Mỗi token không chỉ có một embedding duy nhất mà có nhiều embedding
    • Tác giả diễn giải điều này như một embedding subspace phi tuyến phức tạp tương ứng với từng token
    • Với mỗi token, có thể dễ dàng học được hàng nghìn embedding duy nhất
  • Dù không xác định chính xác subspace bằng toán học, ở bước cuối một xấp xỉ tuyến tính vẫn hoạt động tốt
    • Với mỗi token, tác giả chồng các embedding đã học và thực hiện SVD
    • Right singular vector đầu tiên hoạt động khá tốt như xấp xỉ tuyến tính 1 chiều cho subspace của token đó
  • Kết hợp tuyến tính các vector xấp xỉ subspace của nhiều token có thể tạo ra embedding phân bổ xác suất cho nhiều token
    • Cộng vector xấp xỉ của ab sẽ tạo ra một phân phối chia xác suất cho hai token này
    • Tuy nhiên, do sai số xấp xỉ, tính không trực giao giữa các vector subspace và chênh lệch độ lớn logit theo từng token, kết quả sẽ không thành phân phối 50:50 hoàn hảo

Tương ứng giữa đầu ra feed-forward và token subspace

  • Đầu ra feed-forward có thể được diễn giải là đang điều chỉnh đầu ra khối theo hướng của một token subspace cụ thể
    • Những token đó trùng với các token mà quy trình xấp xỉ dự đoán, tức là các token xuất hiện sau các chuỗi huấn luyện tạo ra đầu ra feed-forward tương tự
  • Trong ví dụ med me Aut, nếu chỉ nhìn khối cuối thì xấp xỉ dự đoán o là token tiếp theo có khả năng cao nhất, và h đứng sau
    • Khi chiếu cùng vector đầu ra feed-forward đó lên các xấp xỉ token subspace, các token giống nhất cũng theo thứ tự o, h, i, u, y
  • Trong ví dụ if and thy, một sự tương ứng tương tự cũng xuất hiện
    • Xấp xỉ xem space, s, newline là các token dự đoán chính
    • Các subspace căn chỉnh tốt nhất với đầu ra feed-forward cũng gần theo thứ tự space, s, newline
  • Trên toàn bộ 20.000 prompt, tác giả đặt ra một tiêu chí tùy ý để tổng hợp
    • Tiêu chí là: “các subspace của những token chiếm 90% khối lượng xác suất trong dự đoán xấp xỉ có nằm trong nửa trên của bảng xếp hạng cosine similarity với đầu ra feed-forward hay không”
    • Ở khối cuối, có 16.357 trường hợp, tức 81,78%, thỏa tiêu chí này

Kết quả tổng hợp theo từng khối và so sánh với xác suất ngẫu nhiên

  • Khi dùng các xấp xỉ subspace được học ở từng vị trí khối, tỷ lệ thỏa tiêu chí tăng dần ở các khối phía sau
    • Khối 6: 16.357, 81,78%
    • Khối 5: 10.142, 50,71%
    • Khối 4: 7.760, 38,80%
  • Nếu áp dụng xấp xỉ subspace của giai đoạn cuối cho mọi khối thì kết quả còn tốt hơn
    • Khối 6: 81,78%
    • Khối 5: 68,26%
    • Khối 4: 58,15%
    • Khối 3: 57,34%
    • Khối 2: 52,02%
    • Khối 1: 49,71%
  • Tác giả cũng mô phỏng khả năng tiêu chí này được thỏa một cách tình cờ dưới cosine similarity ngẫu nhiên
    • Khối 6: 20,76% ± 0,25%
    • Khối 5: 20,55% ± 0,26%
    • Khối 4: 18,37% ± 0,24%
    • Khối 3: 18,20% ± 0,24%
    • Khối 2: 17,04% ± 0,23%
    • Khối 1: 16,31% ± 0,23%
  • Kết quả cao hơn mức ngẫu nhiên rất nhiều, nhưng do nhiễu đo lường và giới hạn của xấp xỉ subspace, vẫn khó xem đây là bằng chứng quyết định

Vai trò của self-attention

  • Theo cách diễn giải này, dự đoán tốt phụ thuộc vào việc ánh xạ prompt vào đúng lớp chuỗi trong corpora huấn luyện
  • Trục thực hiện phép ánh xạ đó là self-attention
    • Attention layer nhận diện các mẫu giữa các token trong prompt
    • Các mẫu có thể là chuỗi đơn giản như y l ở cuối, hoặc cũng có thể là loại token tổng quát hơn như nguyên âm hay chữ in hoa ở một vị trí cụ thể
  • Trọng số đã học của attention head quyết định nó sẽ phản ứng với mẫu nào
    • Khi đầu ra attention head đi qua feed-forward network, nó trở thành một biểu diễn trong không gian embedding chứa thông tin về phân phối token xuất hiện sau các chuỗi huấn luyện tương tự
  • Mô hình phân tích có 6 khối và 6 attention head mỗi khối, nên một prompt có thể được đánh giá theo nhiều mẫu tiềm ẩn khác nhau

Kết luận và giới hạn

  • Bằng chứng cho thấy quy trình xấp xỉ và đầu ra Transformer thực là tương tự nhau là khá mạnh
  • Bằng chứng rằng quy trình xấp xỉ này tương ứng trực tiếp với phép tính bên trong Transformer thực còn kém rõ ràng hơn, nhưng ít nhất gợi ý rằng nó có thể đúng một phần
  • Chưa thể biết liệu kết quả thu được từ một Transformer nhỏ này có khái quát sang mô hình lớn hơn hay bộ dữ liệu khác hay không
  • Dự án này là quá trình đặt câu hỏi vào bên trong mô hình và thiết kế thực nghiệm; thay vì quy giản “phép màu” của mô hình ngôn ngữ thành một cơ chế đơn giản, nó giúp nhìn rõ hơn sự phức tạp đó

1 bình luận

 
GN⁺ 2024-02-05
Ý kiến trên Hacker News
  • Một số chủ đề trong bài cha hẳn không quá bất ngờ với những ai đã đọc https://people.math.harvard.edu/~ctm/home/text/others/shanno...
    Nếu không đọc tài liệu nền tảng trong lĩnh vực của mình, ngay cả những hiện tượng phát sinh như hệ quả tự nhiên của các công trình đã được hệ thống hóa cũng sẽ trông như những bí ẩn không thể giải thích
    Dù vậy, thí nghiệm thoạt nhìn có vẻ khá kỹ lưỡng, và tôi đánh giá cao lượng công việc chi tiết đã bỏ ra
    Có một sự đánh đổi khó giữa việc học lý thuyết hiện có và tự suy diễn lại từ đầu. Không có nền tảng truyền thống có thể giúp phát hiện điều mới, nhưng có nền tảng thì có thể hiểu sâu hơn các hiện tượng cụ thể
    Trong phần bình luận ở đây, có vẻ nhiều người ngạc nhiên rằng một mô hình tối đa hóa log-likelihood của chuỗi khi có dữ liệu, lúc suy luận lại không kỳ diệu đi chệch khỏi hành vi đó. Đây là mô hình ước lượng mật độ; chẳng lẽ lại mong nó ngâm Shakespeare từ hư không sao
    Quay lại những điều cơ bản sẽ giúp hiểu các thí nghiệm này tốt hơn rất nhiều. Đã có một nền tảng toán học rất rõ ràng giải thích điều này, cũng như cái gọi là các hiện tượng nổi lên
    Cụ thể hơn thì có nhiều tầng, và cách Shannon xử lý các hệ ergodic là một điểm khởi đầu tốt. Ở đây có vài chỗ hơi lệch, nhưng có vẻ vẫn là một đối ứng đủ gần để hiểu toàn bộ động lực học

    • Những nhà nghiên cứu lý thuyết thông tin rất thông minh đã nhìn mạng nơ-ron từ góc độ lý thuyết thông tin từ vài năm trước và cũng đã công bố các bài báo nổi tiếng, nhưng chưa giải thích được nhiều phần của mạng nơ-ron. Dù vậy nó vẫn thú vị
      Việc những người thông minh nói “cấu trúc toán học này giống ý tưởng kia, chỉ cần thêm hoặc bớt vài cấu trúc là giải thích được tất cả” không phải chuyện hiếm. Nhưng thực tế là còn rất nhiều điều chưa biết
      Tôi chưa từng thấy các nhà lý thuyết trong lĩnh vực này mang lý thuyết đến rồi tạo ra thứ gì mới hoặc đưa ra dự đoán hữu ích. Thường là thử đủ thứ, nếu chạy được thì sau đó gắn vào một lời giải thích nghe hợp lý vì sao nó chạy, còn nếu không thì chôn vùi đi
      Gần đây cũng có một bài viết xem transformer như kernel smoothing: https://arxiv.org/abs/1908.11775
    • Tôi hiểu ý bạn, nhưng bản thân việc hội tụ qua các con đường thay thế có độ sâu khác nhau cũng là một tín hiệu
      Tái phát hiện lặp đi lặp lại không nhất thiết là lãng phí; nó cũng có thể là quá trình xác nhận và kiểm chứng một chân lý sâu sắc có nhiều con đường dẫn tới
    • Trong một luồng thảo luận lân cận khác, mọi người đang nói về việc mạng nơ-ron khớp với dữ liệu huấn luyện trong một biên độ sai số nhất định có ý nghĩa gì đối với bản quyền
      Khá nhiều giáo trình lý thuyết thông tin đã chỉ ra tính chất định địa chỉ theo nội dung (content-addressable) của các mạng như vậy[1], và vì mục đích này chúng cũng được dùng trong các ứng dụng như nén[2][3]
      Vì vậy việc mô hình của OpenAI tái tạo gần như nguyên văn khi NYT đưa vài đoạn bài báo của họ vào prompt cũng không có gì đáng ngạc nhiên
      [1] https://www.inference.org.uk/itprnn/book.pdf
      [2] https://bellard.org/nncp/
      [3] https://pub.towardsai.net/stable-diffusion-based-image-compr...
    • Vậy thì tự hỏi tại sao Shannon lại không tạo ra được GPT
  • Khi thấy Google chỉ ra rằng nếu yêu cầu ChatGPT lặp đi lặp lại cùng một từ thì có thể khiến nó phun nguyên dữ liệu huấn luyện ra[0][1], tôi đã nghĩ đúng cùng một ý tưởng. Thật vui khi có ai đó thực sự triển khai nó
    Ở đây nảy sinh thêm hai câu hỏi

    1. Cách tiếp cận “AI ơi, bắt AI giúp tôi” này có hiệu quả năng lượng hơn so với việc nén dữ liệu huấn luyện vào mô hình bằng lan truyền ngược với gradient descent rồi chạy trên một AI coprocessor chuyên dụng không?
    2. Kết quả này có thể trở thành bằng chứng trong các vụ kiện đang diễn ra chống lại OpenAI và Stability AI không?
      [0] Trước đây thì có thể. Giờ OpenAI chặn việc sinh nội dung nếu lấp đầy cửa sổ ngữ cảnh bằng một từ
      [1] https://arxiv.org/abs/2311.17035
    • Cách tiếp cận này không thể hiệu quả hơn việc chạy mô hình gốc. Vì phải chạy mô hình gốc để lấy các activation, rồi tìm trong corpus những chuỗi có activation tương tự và tính thống kê token tiếp theo
      Không bỏ qua được nhiều bước, ngược lại còn thêm khá nhiều việc
      Ngay cả khi tách hoàn toàn corpus dùng để huấn luyện mô hình và corpus dùng để tìm kiếm chuỗi activation tương tự, tôi nghĩ kết quả cũng gần như vậy. Phần khó ngay từ đầu là khiến các chuỗi có thống kê token tiếp theo tương tự tạo ra activation tương tự
      Trong trọng số theo lớp [0.01, 0.01, 0.1, 1.5, 6, 0.01], quan trọng nhất là lớp ngay trước lớp cuối, và lúc đó đầu vào đã được biến đổi rất nhiều rồi. Vì vậy không nên kỳ vọng có thể dùng thứ này để thay transformer bằng một phép grep đơn giản trên dữ liệu huấn luyện
      Lý do trọng số của lớp ngay trước lớp cuối lớn hơn rất nhiều so với lớp cuối có lẽ là do induction head. Như trong https://transformer-circuits.pub/2021/framework/index.html, nó có thể triển khai chức năng sao chép chuỗi lặp lại trong đầu vào, trong đó lớp ngay trước lớp cuối quyết định cần tìm gì và lớp cuối thực hiện việc sao chép
    • Nếu ý bạn là ý tưởng rằng đầu ra của LLM tuân theo xác suất token tiếp theo dựa trên dữ liệu huấn luyện, thì đó là sự thật cơ bản đã được biết rõ, nên kết quả này có vẻ khó trở thành bằng chứng
      Đóng góp của bài này, như tác giả nói, là chỉ ra điều đó cho độc giả kỹ thuật đang trực tiếp tạo GPT, khác với các bài “triển khai như thế nào?” tập trung vào chính transformer
    • Theo trải nghiệm của tôi trước khi bị chặn, nó đã hallucinate ra những thứ trông giống dữ liệu huấn luyện thật
      Nhìn kỹ thì đó là các GitHub README không tồn tại và không ăn khớp trước sau, brochure hướng dẫn trống rỗng, các cuộc hội thoại ngẫu nhiên, kiểu như vậy
    • Tôi thấy thú vị khi bài arXiv được liên kết xem việc này như một cuộc tấn công, đạo đức và công bố có trách nhiệm
      Nhưng chuyện quét toàn bộ Internet để huấn luyện các mô hình như thế này thì tuyệt đối không bao giờ được gọi là tấn công
    • Nếu một tác phẩm có bản quyền, thì hiển nhiên cũng có quyền đối với file zip của tác phẩm đó
      Vậy tại sao lại không nên coi là có quyền đối với phân bố xác suất ký tự bên trong tác phẩm đó?
  • Ngay khi biết đến NanoGPT của Andrej Karpathy, tôi đã thử huấn luyện nó bằng bản tiếng Nga của War and Peace, và thật thú vị là dù mô hình chỉ 3MB, nó vẫn gần như nắm được ngữ pháp tiếng Nga
    Tiếng Nga có cấu trúc tổng hợp và biến tố phức tạp. Ví dụ, sau giới từ “na”(“upon”) phải là danh từ ở đối cách, thể hiện bằng -a với danh từ giống đực chỉ sinh vật, không có đuôi với danh từ vô sinh, -ia với danh từ kết thúc bằng “soft consonant”, -u với danh từ giống cái, v.v.
    Ngoài ra, động từ “sử dụng” yêu cầu cách công cụ nếu theo sau là danh từ được dùng như công cụ
    Nó không hoàn hảo và cũng có lỗi, nhưng thật thú vị khi NanoGPT suy luận được một số quy tắc phức tạp cụ thể chỉ sau 3 phút huấn luyện. Tôi đã tìm các câu ví dụ chính xác mà nó sinh ra trong nguyên văn, nhưng không có câu nào khớp nguyên xi
    Tuy vậy, dù hiểu ngữ pháp ở mức nào đó, về mặt ngữ nghĩa thì nó hoàn toàn nói nhảm

    • Biến đổi đuôi từ hẳn thuộc nhóm token phổ biến nhất trong văn bản huấn luyện, nên cũng không quá đáng ngạc nhiên
  • Có một bản trực quan hóa 3D tốt cho thấy cùng hệ thống này, và tôi nghĩ đọc kèm sẽ rất hiệu quả
    LLM Visualization (https://bbycroft.net/llm)
    https://news.ycombinator.com/item?id=38505211

    • Tôi đánh giá cao công sức bỏ vào bản trực quan hóa này, nhưng với tư cách người đã làm việc với mạng nơ-ron 9 năm, nó khiến tôi rối hơn rất nhiều so với việc giúp ích
      Có lẽ vì nó cố hiển thị mọi thứ cùng lúc và không đẩy bớt sang các khái niệm trừu tượng, nhưng tôi không chắc
  • Dự án hay, nhưng mô hình được phân tích về cơ bản là mô hình đồ chơi cả về kích thước lẫn lượng dữ liệu huấn luyện
    Vì vậy mô hình này có thể được xấp xỉ bằng một mô hình đơn giản hơn, có lẽ là mô hình ngôn ngữ n-gram, nhưng khó có thể xem là đại diện cho cách các mô hình ngôn ngữ lớn hơn hoạt động

    • Có lẽ đúng. Nếu tạo một mô hình nhỏ hơn nữa, có lẽ cũng có thể tạo ra một lời giải thích đơn giản hơn nhiều về cách nó hoạt động
  • Tôi thắc mắc liệu tác giả có đang cho rằng LLM là bộ sinh văn bản theo chuỗi Markov hay không
    Tức là phân phối xác suất của token tiếp theo được sinh ra có giống với xác suất của chuỗi token tương ứng trong dữ liệu huấn luyện không?
    Nếu vậy, có phải chỉ cần “đơn giản” tạo một chuỗi Markov từ dữ liệu huấn luyện gốc là có thể đạt hiệu năng tương tự LLM không?

    • LLM là chuỗi Markov theo nghĩa sau
      Trạng thái là vector token có độ dài bằng độ dài ngữ cảnh, và mô hình mô tả ma trận chuyển tiếp. Với một vector token có kích thước bằng độ dài ngữ cảnh cho trước, nó đưa ra xác suất của vector token tiếp theo cũng có kích thước bằng độ dài ngữ cảnh
    • Không. LLM không chỉ đơn giản sao chép cùng một văn bản, mà gần với việc dùng self-attention để “phân loại” văn bản rồi áp dụng một chuỗi Markov đơn giản
      Phần khó là việc phân loại để biết văn bản nào trong dữ liệu huấn luyện “giống” với văn bản prompt
      Lấy ví dụ trong bài blog thì như sau
      Original string: 'And only l'
      Similar strings: 'hat only l' 's sickly l' ' as\nthey l' 'r kingly l'
    • Bài viết nói rằng “đã triển khai bằng mã mệnh lệnh việc mà transformer được đề xuất là đang làm, và tạo ra đầu ra rất giống transformer”
      Điều này nghĩa là có thể có cách bỏ qua transformer mà vẫn nhận được kết quả tương tự. Tôi tò mò liệu nó có hiệu quả hơn không
      Ví dụ, khi có một mô hình nền tảng, có thể huấn luyện thứ gì đó khác để chạy trên một thiết bị nhỏ hơn nhiều
  • Khá khó hiểu tác giả đang tuyên bố chính xác là đã chứng minh điều gì
    Tôi đã đọc phần “Interpretation: Why Does the Approximation Work?” vài lần, nhưng nó giống như một phần giải thích cơ học về các bước của transformer. Tôi không rõ luận điểm cốt lõi là gì

  • Tôi thắc mắc liệu hiện tượng attention và độ dịch chuyển FF phần lớn chỉ cùng một hướng có phải là điều đã được biết đến không
    Ngay cả việc chúng nằm trong cùng một không gian tiềm ẩn xuyên qua các tầng cũng đã hơi gây ngạc nhiên. Mạng FF chẳng phải cũng có thể thực hiện một phép xoay tùy ý sao? Có lẽ tôi đang hiểu sai điều gì đó

    • Đây là biểu diễn 2D của các vector có số chiều rất cao
      Chắc chắn sẽ có thứ bị mất đi, và việc mô tả chính xác một phép xoay tùy ý trong không gian nhiều chiều cũng là một trong những thứ bị mất đó
    • Có lẽ nên thử kiểm tra bằng cách đổi phép cộng attention thành scaling