paint-brush
Từ tính năng tự động hoàn thành nhảm nhí đến trò chuyệnGPT: Sự phát triển của các mô hình ngôn ngữtừ tác giả@rosdem
1,226 lượt đọc
1,226 lượt đọc

Từ tính năng tự động hoàn thành nhảm nhí đến trò chuyệnGPT: Sự phát triển của các mô hình ngôn ngữ

từ tác giả Rostyslav Demush9m2023/03/14
Read on Terminal Reader

dài quá đọc không nổi

mô hình ngôn ngữ không phải là mới. Chúng tôi đã có chúng trong điện thoại của mình trong nhiều năm, thực hiện tự động hoàn thành. Họ được đào tạo để xác định từ hoặc ký hiệu có thể xảy ra tiếp theo. Tuy nhiên, chúng cũng có thể được tinh chỉnh cho các tác vụ khác như dịch ngôn ngữ và trả lời câu hỏi.
featured image - Từ tính năng tự động hoàn thành nhảm nhí đến trò chuyệnGPT: Sự phát triển của các mô hình ngôn ngữ
Rostyslav Demush HackerNoon profile picture


Bất chấp sự cường điệu hiện nay, các mô hình ngôn ngữ không phải là mới. Chúng tôi đã có chúng trong điện thoại của mình trong nhiều năm, thực hiện tự động hoàn thành. Và, mặc dù chúng có thể giúp chúng ta tiết kiệm vài giây đánh vần, nhưng không ai có thể gọi chúng là "thông minh" hay " có tri giác ".


Về mặt kỹ thuật, tất cả các mô hình ngôn ngữ chỉ là phân phối xác suất của mã thông báo. Chúng được đào tạo để xác định từ hoặc biểu tượng có thể xảy ra tiếp theo, bất kỳ từ nào đã được mã hóa, dựa trên những từ hoặc ký hiệu trước đó. Tuy nhiên, chúng cũng có thể được tinh chỉnh cho các tác vụ khác như dịch ngôn ngữ và trả lời câu hỏi.

Thế hệ ngôn ngữ là gì?

Tạo ngôn ngữ là quá trình cung cấp cho thuật toán một từ ngẫu nhiên để thuật toán có thể tạo từ tiếp theo dựa trên xác suất mà nó học được từ dữ liệu huấn luyện và sau đó liên tục cung cấp đầu ra của chính nó. Ví dụ: nếu mô hình nhìn thấy "I", chúng tôi hy vọng mô hình sẽ tạo ra "am", sau đó là "fine", v.v.


Khả năng tạo ra các câu có ý nghĩa của nó phụ thuộc vào kích thước của cửa sổ tham chiếu của nó. Các mô hình cơ bản cũ hơn, chẳng hạn như những mô hình được tìm thấy trong điện thoại của chúng tôi, chỉ có thể nhìn lại một hoặc hai từ, đó là lý do tại sao chúng bị cận thị và quên mất phần đầu của câu khi chúng đến giữa.

Từ RNN đến Transformers

Trước khi có máy biến thế, các nhà nghiên cứu đã sử dụng Mạng thần kinh tái phát (RNN) để khắc phục sự cố bộ nhớ ngắn. Không đi sâu vào chi tiết, chúng ta có thể nói rằng thủ thuật của họ là tạo ra một vectơ trạng thái ẩn chứa thông tin về tất cả các nút trong câu đầu vào và cập nhật nó với mỗi mã thông báo mới được giới thiệu.


Mặc dù ý tưởng này chắc chắn là thông minh, nhưng trạng thái ẩn cuối cùng luôn thiên về các đầu vào gần đây nhất. Do đó, giống như các thuật toán cơ bản, RNN vẫn có xu hướng quên phần đầu của câu, mặc dù không nhanh bằng.


Sau đó, các mạng Bộ nhớ ngắn hạn dài (LSTM) và Đơn vị lặp lại có cổng (GRU) đã được giới thiệu. Không giống như các RNN thông thường, chúng có các cơ chế (cổng) tích hợp sẵn giúp giữ lại bộ nhớ của các đầu vào có liên quan, ngay cả khi chúng ở xa đầu ra được tạo ra. Tuy nhiên, các mạng này về bản chất vẫn là tuần tự và có kiến trúc quá phức tạp. Chúng không hiệu quả và bị cấm tính toán song song, vì vậy không có cơ hội chạy chúng trên nhiều máy tính đồng thời để có được hiệu suất nhanh như chớp.


Vào năm 2017, máy biến áp lần đầu tiên được Google mô tả trong bài báo này . Trái ngược với LSTM và GRU, chúng có khả năng chủ động chọn các phân đoạn có liên quan để xử lý ở một giai đoạn nhất định và tham chiếu chúng khi thực hiện ước tính. Chúng nhanh hơn, hiệu quả hơn và có kiến trúc đơn giản hơn dựa trên nguyên tắc chú ý .


Thật buồn cười là nếu bây giờ bạn đọc tác phẩm này, nó giống như một bài báo bình thường về dịch máy, vào thời điểm đó có rất nhiều. Các tác giả có lẽ đã không nhận ra rằng họ có thể đã phát minh ra một trong những kiến trúc quan trọng nhất trong lịch sử AI.

Chú ý

Trong bối cảnh học máy, sự chú ý đề cập đến các vectơ được gán cho mỗi mã thông báo chứa thông tin về vị trí của nó trong một chuỗi và tầm quan trọng của nó so với các yếu tố đầu vào khác. Mô hình có thể sử dụng chúng khi đưa ra dự đoán mà không cần xử lý nối tiếp. Hãy chia nhỏ nó ra một chút để nó trở nên rõ ràng hơn.


Trước khi có máy biến áp, cách tiếp cận truyền thống để xử lý trình tự theo trình tự, chẳng hạn như dịch ngôn ngữ thần kinh, là mã hóa tất cả đầu vào thành một trạng thái ẩn duy nhất bằng RNN và sau đó giải mã trình tự đích bằng RNN khác. Tất cả những gì quan trọng ở phần cuối mã hóa là trạng thái cuối cùng.


Năm 2014, Bahdanau và cộng sự. đã đề xuất ý tưởng tuyệt vời về việc cung cấp tất cả các trạng thái ẩn cho mạng bộ giải mã và cho phép nó xác định trạng thái nào là quan trọng nhất để tạo ra đầu ra hiện tại. Mạng đã chú ý đến các phần liên quan và bỏ qua phần còn lại.


Bốn năm sau, bài báo của Google được phát hành. Lần này, các tác giả đề xuất loại bỏ hoàn toàn RNN và chỉ sử dụng sự chú ý cho cả giai đoạn mã hóa và giải mã. Để làm như vậy, họ phải thực hiện một số sửa đổi nhất định đối với cơ chế chú ý ban đầu, dẫn đến sự phát triển của khả năng tự chú ý .

tự chú ý

Có lẽ dễ dàng nhất để coi sự tự chú ý như một cơ chế giao tiếp giữa các nút trong một trình tự duy nhất. Cách thức hoạt động của nó là tất cả các mã thông báo đầu vào được gán ba vectơ - Truy vấn (Q), Khóa (K) và Giá trị (V) - đại diện cho các khía cạnh khác nhau của quá trình nhúng ban đầu.


  • Các vectơ truy vấn (Q) cho biết đầu vào đang tìm kiếm cái gì. Hãy coi chúng như những cụm từ bạn nhập vào thanh tìm kiếm YouTube.

  • Các vectơ khóa (K) đóng vai trò là mã định danh cho đầu vào, giúp nó xác định vị trí phù hợp cho truy vấn của nó. Đây là những loại giống như kết quả tìm kiếm Youtube với các tiêu đề có liên quan.

  • Các vectơ giá trị (V) biểu thị nội dung thực tế của từng mã thông báo và cho phép mô hình xác định tầm quan trọng của một nút có liên quan liên quan đến truy vấn và tạo đầu ra. Đây có thể được coi là hình thu nhỏ và mô tả video giúp bạn quyết định nên nhấp vào video nào từ kết quả tìm kiếm.


Lưu ý: Trong tự chú ý, tất cả Q, K và V đều đến từ cùng một trình tự, trong khi chú ý chéo thì không.


Công thức tự chú ý có dạng như sau: Attention(Q,K,V) = softmax((QK^T) / sqrt(d_k)V . Và đây là quy trình tóm tắt:


  1. Ba phép biến đổi tuyến tính được áp dụng cho truy vấn, khóa và giá trị để tạo ma trận tương ứng - Q, K, V.
  2. Tích vô hướng của Qs và Ks được tính toán; chúng cho chúng tôi biết mức độ phù hợp của tất cả các truy vấn với tất cả các khóa.
  3. Ma trận kết quả được chia cho căn bậc hai của kích thước của các phím d_k. Đây là một quy trình thu nhỏ cần thiết để đạt được độ dốc ổn định hơn (việc nhân các giá trị có thể gây ra hiệu ứng bùng nổ ).
  4. Hàm softmax được áp dụng cho điểm số được chia tỷ lệ và do đó thu được trọng số chú ý. Tính toán này cho chúng ta các giá trị từ 0 đến 1.
  5. Trọng số chú ý cho mỗi đầu vào được nhân với các vectơ giá trị của chúng và đó là cách tính toán đầu ra.
  6. Các kết quả đầu ra được chuyển qua một phép biến đổi tuyến tính nữa, giúp kết hợp dữ liệu từ tính năng tự chú ý vào phần còn lại của mô hình.


Gia đình GPT

Transformers ban đầu được phát minh như một giải pháp thay thế đơn giản cho RNN để mã hóa các chuỗi, nhưng trong 5 năm qua, chúng đã được áp dụng cho nhiều lĩnh vực nghiên cứu AI, bao gồm thị giác máy tính và thường xuyên vượt qua các mô hình hiện đại nhất.


Tuy nhiên, vào năm 2018, chúng tôi không biết chúng có thể mạnh đến mức nào nếu được tạo ra lớn (với hàng triệu tham số), được cung cấp sức mạnh tính toán dồi dào và được đào tạo trên kho văn bản rộng lớn, đa dạng và không được gắn nhãn từ web.


Cái nhìn đầu tiên về khả năng của chúng đã được nhìn thấy trong Generative Pre-training Transformer (GPT) do OpenAI phát triển, có 117 triệu tham số và được đào tạo trước trên dữ liệu chưa được gắn nhãn. Nó vượt trội so với các mô hình được đào tạo phân biệt trong 9 trên 12 nhiệm vụ NLP, mặc dù thực tế là các thuật toán này được đào tạo riêng cho các nhiệm vụ còn GPT thì không.


Sau đó là các mẫu GPT-2 (mẫu lớn nhất có 1,5 tỷ tham số), tiếp theo là nhiều máy biến áp khác. Và vào năm 2020, OpenAI cuối cùng đã phát hành GPT-3; phiên bản lớn nhất của nó có 175 tỷ tham số và kiến trúc của nó hầu hết giống như trong GPT-2.


Có vẻ như mục tiêu của OpenAI là xác định mức hiệu suất cao mà họ có thể đạt được từ mô hình của mình bằng cách làm cho mô hình lớn hơn và cung cấp cho mô hình nhiều văn bản và sức mạnh hơn. Kết quả thật đáng kinh ngạc.


Lưu ý: 175 tỷ tham số được coi là khá nhỏ theo tiêu chuẩn ngày nay.



GPT-3 có khả năng tạo văn bản ở nhiều phong cách và định dạng khác nhau, chẳng hạn như tiểu thuyết, thơ, sách hướng dẫn, kịch bản, tin bài, thông cáo báo chí, chú thích hình ảnh, lời bài hát, email, phản hồi đối thoại, v.v. Nó có thể viết mã, tóm tắt, viết lại, đơn giản hóa, phân loại bất kỳ thông tin nào, v.v. Nó thực sự sẽ mất cả một bài báo khác chỉ để liệt kê tất cả các khả năng của nó. Chưa hết, cốt lõi của nó, con thú này vẫn là một hệ thống tự động hoàn thành đơn giản.


Trò chuyệnGPT

OK, vậy là chúng ta có một mô hình ngôn ngữ vô cùng mạnh mẽ. Chúng ta có thể sử dụng nó như một chatbot không? KHÔNG.


GPT-3 và các công cụ tương tự của nó vẫn là công cụ để hoàn thành trình tự và không có gì khác. Nếu không có định hướng thích hợp, họ sẽ nói lan man về chủ đề mà họ chọn được từ câu hỏi của bạn và tạo nên những bài báo, tin tức, tiểu thuyết, v.v. giả mạo, có vẻ trôi chảy, mạch lạc và hoàn hảo về mặt ngữ pháp, nhưng chúng sẽ hiếm khi hữu ích.


Để tạo một chatbot thực sự hữu ích, OpenAI đã tiến hành tinh chỉnh rộng rãi GPT-3 hoặc GPT 3.5, phiên bản cập nhật của mô hình - chúng tôi chưa biết chính xác. Mặc dù nhiều chi tiết về quy trình này vẫn chưa được tiết lộ, nhưng chúng tôi biết rằng bot đã được đào tạo theo cách gần giống như InstructGPT , mô hình anh em của nó. Và chúng tôi cũng nhận thấy rằng phiên bản thứ hai tương tự như Sparrow, phiên bản sắp ra mắt của DeepMind về 'tác nhân đối thoại thông minh', được mô tả trong bài báo này , ra mắt muộn hơn một chút.


Vì vậy, khi biết rằng tất cả các thuật toán dựa trên máy biến áp đều có cùng một kiến trúc, chúng ta có thể đọc bài đăng trên blog từ OpenAI, so sánh nó với bài báo của Sparrow và sau đó đưa ra một số phỏng đoán có cơ sở về những gì diễn ra dưới vỏ bọc của ChatGPT.


Quá trình tinh chỉnh từ bài viết có ba giai đoạn:


  1. Tích lũy dữ liệu hiển thị cho AI cách một trợ lý nên hành động. Bộ dữ liệu này bao gồm các văn bản trong đó các câu hỏi được theo sau bởi các câu trả lời chính xác và hữu ích. May mắn thay, các mô hình ngôn ngữ lớn được đào tạo trước rất hiệu quả về mẫu, điều đó có nghĩa là quá trình này có thể không mất nhiều thời gian.


  2. Thử mô hình bằng cách yêu cầu mô hình phản hồi các truy vấn và tạo nhiều câu trả lời cho cùng một câu hỏi, sau đó để con người đánh giá từng câu trả lời. Đồng thời, đào tạo một mô hình phần thưởng để nhận ra các phản ứng mong muốn.


  3. Sử dụng Tối ưu hóa chính sách gần nhất của OpenAI để tinh chỉnh bộ phân loại và đảm bảo rằng các câu trả lời của ChatGPT nhận được điểm cao theo chính sách.


Bài báo Sparrow mô tả một phương pháp tương tự nhưng có thêm một vài bước. Giống như tất cả các tác nhân đối thoại của DeepMind, Sparrow được điều chỉnh dựa trên các lời nhắc thủ công cụ thể đóng vai trò là đầu vào luôn được các lập trình viên cung cấp cho mô hình và người dùng không thể nhìn thấy. ChatGPT có thể cũng được hướng dẫn bởi các loại lời nhắc 'vô hình' này.


Ví dụ về lời nhắc ban đầu của Sparrow.



Để làm cho nó trở thành một trợ lý hiệu quả, Sparrow đã được đặt câu hỏi và nó tạo ra các câu trả lời mà sau đó được con người đánh giá dựa trên các nguyên tắc chung về tính hữu dụng và các quy tắc đạo đức do DeepMind đưa ra (chẳng hạn như sự lịch sự và chính xác). Ngoài ra còn có một kiểu huấn luyện đối nghịch trong đó con người tích cực cố gắng khiến Sparrow thất bại. Sau đó, hai bộ phân loại mạng thần kinh đã được đào tạo để đánh giá nó; một đánh giá các câu trả lời về mức độ hữu ích và một đánh giá xác định mức độ sai lệch của các câu trả lời so với các quy tắc của DeepMind.


ChatGPT giờ đây biết cách không tạo ra nội dung xúc phạm, nhưng đôi khi nó tạo ra những câu trả lời thiếu tế nhị sau khi phát hành; chúng tôi cho rằng OpenAI có thể đã thêm một mô hình khác được thiết kế đặc biệt để không cho phép văn bản có hại đi qua. Nhưng tất nhiên, chúng ta vẫn chưa thể biết chắc chắn và bản thân ChatGPT cũng đang mờ ám về điều này.




Không giống như ChatGPT, Sparrow cũng sẽ có thể cung cấp bằng chứng để hỗ trợ những gì nó nói, vì nó sẽ trích dẫn các nguồn và truy cập tìm kiếm của Google. Để làm cho mô hình có thể làm được điều đó, các nhà nghiên cứu đã cập nhật lời nhắc ban đầu và đưa thêm hai diện mạo vào đó: truy vấn tìm kiếm và kết quả tìm kiếm.



Ví dụ về lời nhắc đối thoại dựa trên bằng chứng của Sparrow


Lưu ý: Nguyên tắc tương tự có thể đã được áp dụng trong Bard, đối thủ cạnh tranh của ChatGPT được Google công bố gần đây.



Sau quá trình đào tạo với hai bộ phân loại, sử dụng tập dữ liệu ELI5 và câu trả lời trong các lần lặp lại trước của Sparrow, mô hình có thể tạo ra nhiều câu trả lời chính xác và được nghiên cứu kỹ lưỡng cho từng câu hỏi. Câu trả lời hiển thị cho người dùng luôn là câu trả lời đạt điểm cao nhất với bộ phân loại tính hữu ích và thấp nhất với bộ phân loại độ lệch quy tắc.


Vì vậy, những gì tiếp theo?

Bard, chatbo t của Google dựa trên mô hình ngôn ngữ LaMDA, đã được công bố vào ngày 6 tháng 2. Nó đã tạo ra tiếng vang, nhưng vẫn chưa có chi tiết cụ thể nào về quá trình đào tạo của nó. Phiên bản beta của Sparrow cũng dự kiến sẽ được phát hành vào khoảng năm 2023. Vẫn còn phải xem liệu một trong hai bot này có trở nên phổ biến gần như ChatGPT hay không. Cả hai đều có những tính năng độc đáo giúp chúng có tiềm năng trở thành chatbot số một mới, nhưng chúng tôi cũng không nghĩ rằng OpenAI sẽ ngừng cập nhật và cải thiện trợ lý trò chuyện siêu sao của mình.


Có lẽ chúng ta sẽ sớm thấy ChatGPT với các tính năng mới và thậm chí còn tốt hơn. Không thể dự đoán công ty nào sẽ đứng đầu về vị trí thống lĩnh thị trường. Tuy nhiên, bất cứ ai giành chiến thắng trong cuộc thi, sẽ đẩy xa hơn nữa ranh giới của những gì được cho là có thể đạt được với công nghệ AI, và điều đó chắc chắn sẽ rất thú vị.