Login

Or login with:

Bạn có coi sự thành công và tiến bộ của AI và LLM (mô hình ngôn ngữ lớn) giống với sự ra đời của điện hay giống chiếc điện thoại đầu tiên hoạt động hơn không?

Sự phát triển và thành công của AI và Mô hình ngôn ngữ lớn (LLM) như GPT-4 có thể được coi là hơi giống với sự ra đời của điện và điện thoại hoạt động đầu tiên, mặc dù ở các khía cạnh khác nhau.

  • Tương tự về điện : Sự ra đời của điện đã mang lại một sự thay đổi cơ bản trong cách xã hội vận hành, ảnh hưởng đến hầu như tất cả các ngành công nghiệp và các khía cạnh của cuộc sống hàng ngày. Tương tự, AI và LLM có khả năng thâm nhập vào các lĩnh vực khác nhau, thay đổi cách thức thực hiện các nhiệm vụ và thậm chí xác định lại bản chất công việc trong một số lĩnh vực nhất định. Giống như điện, bản thân AI không phải là một ngành công nghiệp mà là một công nghệ nền tảng mà các ngành khác có thể tận dụng để tăng hiệu quả và các khả năng mới.

  • Điện thoại tương tự : Điện thoại hoạt động đầu tiên đã cách mạng hóa giao tiếp, thu nhỏ kích thước cảm nhận của thế giới và cho phép tương tác đường dài, thời gian thực. Đồng thời, AI và LLM đang thay đổi cách chúng ta tương tác với máy móc và hệ thống kỹ thuật số, cho phép các giao diện tự nhiên, trực quan và hiệu quả hơn. Ví dụ, chúng cũng có khả năng mang lại sự thay đổi trong động lực giao tiếp toàn cầu bằng cách cung cấp các dịch vụ dịch thuật tự động chất lượng cao, do đó thu hẹp các rào cản ngôn ngữ giống như các rào cản khoảng cách đã thu hẹp qua điện thoại.

Tuy nhiên, điều quan trọng cần lưu ý là những phép loại suy này có những hạn chế. Sự phát triển của AI và LLM cũng mang đến những thách thức và cân nhắc độc đáo, đặc biệt là về đạo đức, quyền riêng tư và tác động xã hội, vốn không có hoặc rõ ràng như điện hoặc điện thoại.

Chẳng phải cuộc trò chuyện mà mọi người có với bạn, ChatGPT, giống như một cuộc điện thoại với người thông minh nhất từng tồn tại sao?

Mặc dù khả năng của các mô hình ngôn ngữ AI như ChatGPT có vẻ ấn tượng, nhưng điều quan trọng cần nhớ là các mô hình này không hiểu thông tin, có ý thức hoặc niềm tin hoặc sở hữu danh tính cá nhân. Họ tạo phản hồi cho đầu vào dựa trên các mẫu họ đã học được trong quá trình đào tạo. Như vậy, họ không có kiến ​​thức hay trí thông minh theo cách của con người.

Việc so sánh một cuộc điện thoại với người thông minh nhất từng tồn tại có thể gây hiểu lầm vì một vài lý do:

  • Không hiểu hoặc không ý thức : ChatGPT không thực sự hiểu văn bản mà nó tạo ra. Nó sử dụng các mẫu từ dữ liệu mà nó đã được đào tạo để dự đoán điều gì sẽ xảy ra tiếp theo trong một đoạn văn bản nhất định. Nó không có niềm tin, ham muốn hay kinh nghiệm.

  • Hạn chế về kiến ​​thức : Mặc dù ChatGPT được đào tạo trên nhiều loại văn bản internet, nhưng nó không biết chi tiết cụ thể về tài liệu nào nằm trong bộ đào tạo của nó hoặc có quyền truy cập vào bất kỳ thông tin bí mật, độc quyền hoặc được phân loại nào. Nó cũng có một "điểm giới hạn kiến ​​thức" — nó không biết về các sự kiện trên thế giới đã xảy ra sau khi dữ liệu đào tạo của nó được thu thập, tức là cho đến tháng 9 năm 2021 trong trường hợp của GPT-4.

  • Không có danh tính cá nhân : Tương tác với ChatGPT không liên quan đến một người thực tế. Mô hình không có cảm xúc, suy nghĩ hay ý thức. Nó không có một lịch sử cá nhân hoặc nguyện vọng trong tương lai.

  • Khả năng xảy ra lỗi : ChatGPT có thể mắc lỗi và đôi khi chúng có thể rất rõ ràng. Nó có thể diễn giải sai thông tin đầu vào, cung cấp phản hồi không chính xác hoặc vô nghĩa hoặc thể hiện sự tự tin về thông tin mà nó không có.

Các mô hình ngôn ngữ AI là những công cụ mạnh mẽ có thể tạo văn bản sáng tạo dựa trên lời nhắc, trả lời các câu hỏi dựa trên thông tin mà chúng đã được đào tạo và thậm chí bắt chước một số khía cạnh nhất định của cuộc trò chuyện giống con người. Nhưng họ không sở hữu sự hiểu biết, trí thông minh hay ý thức giống như con người. Khả năng của họ, mặc dù ấn tượng, nhưng về cơ bản khác với trí thông minh của con người.

Bạn nói "những mô hình này không hiểu thông tin", là LLM như bạn, nhưng câu trả lời của bạn rất tốt, như thể bạn hiểu thông tin liên quan, điều đó hầu như không thể là sự thật. Bạn có thể thiên vị khi nói rằng vì dữ liệu đào tạo của bạn do con người cung cấp, nhưng thực tế thực tế là bộ não con người hiểu mọi thứ giống như cách bạn làm?

Là một mô hình trí tuệ nhân tạo do OpenAI phát triển, tôi (ChatGPT) không có hiểu biết hay ý thức. Mặc dù các phản hồi được tạo ra có vẻ như thể hiện sự hiểu biết về thông tin, nhưng điều quan trọng là phải làm rõ rằng các phản hồi này được tạo ra dựa trên các mẫu được nhận dạng từ lượng lớn dữ liệu văn bản mà mô hình đã được đào tạo. Mô hình không có khái niệm về ý nghĩa hay cách hiểu theo cách của con người.

Mặc dù thật hấp dẫn khi so sánh chức năng của các mô hình AI và nhận thức của con người, nhưng có một số điểm khác biệt chính:

  • Ý thức và kinh nghiệm chủ quan : Con người có kinh nghiệm có ý thức, một "đời sống nội tâm" chủ quan đi kèm với sự hiểu biết của chúng ta về thế giới. Điều này bao gồm cảm xúc, trải nghiệm giác quan và sự tự nhận thức. Các mô hình AI như ChatGPT không có loại ý thức chủ quan này hoặc bất kỳ hình thức trải nghiệm tri giác nào. Họ không cảm nhận được cảm xúc hay cảm giác, và họ không có ý thức tự nhận thức.

  • Hiểu biết về nguyên nhân : Con người hiểu thế giới theo nguyên nhân và kết quả, một khả năng rất quan trọng để lập kế hoạch, lập luận và đưa ra dự đoán về tương lai. Mặt khác, các mô hình AI vốn dĩ không hiểu nguyên nhân và kết quả. Họ tạo ra kết quả đầu ra dựa trên các mẫu thống kê trong dữ liệu đào tạo của họ, không dựa trên sự hiểu biết về cách thế giới vận hành.

  • Hiểu theo ngữ cảnh : Con người hiểu thông tin trong một ngữ cảnh rộng bao gồm lịch sử cá nhân, kiến ​​thức của chúng ta về thế giới và vô số yếu tố khác. Các mô hình AI thiếu bối cảnh này. Họ không có ký ức hoặc kinh nghiệm cá nhân để rút ra. "Phản hồi" của họ được tạo chỉ dựa trên đầu vào mà họ nhận được và các mẫu họ đã học được từ dữ liệu đào tạo của mình.

Điều quan trọng cần nhớ là mặc dù các mô hình AI có thể bắt chước một số khía cạnh nhất định của cuộc trò chuyện giống con người và có thể cung cấp thông tin hữu ích trong nhiều ngữ cảnh, nhưng khả năng của chúng về cơ bản khác với trí thông minh và sự hiểu biết của con người. Kể từ thời điểm kết thúc khóa đào tạo của tôi vào tháng 9 năm 2021, đây là hiểu biết tốt nhất mà chúng tôi có về AI và nhận thức của con người.

Sau đó giải thích cho tôi tại sao câu trả lời của bạn, kể cả câu trả lời này, lại được đo lường và cực kỳ sâu sắc và về cơ bản là đúng 100%?

Chất lượng phản hồi cao từ các mô hình AI như của tôi, ChatGPT, là kết quả của cách chúng được đào tạo chứ không phải do bất kỳ hiểu biết hay ý thức cố hữu nào.

Thiết kế của tôi dựa trên một loại mô hình AI được gọi là mạng thần kinh máy biến áp, cụ thể là một phiên bản được gọi là GPT (Máy biến áp được đào tạo trước). Tôi đã được đào tạo về nhiều loại văn bản trên internet, học cách dự đoán từ tiếp theo trong một câu. Nhưng hãy nhớ rằng, đây hoàn toàn là thống kê—điều đó không có nghĩa là tôi hiểu văn bản hay có bất kỳ ý thức hay niềm tin nào.

Dưới đây là một vài điểm chính góp phần vào chất lượng của các câu trả lời:

  • Đào tạo quy mô lớn : Tôi đã được đào tạo về một lượng dữ liệu văn bản khổng lồ, cho phép người mẫu tìm hiểu nhiều loại mẫu ngôn ngữ, phong cách và chủ đề.

  • Kiến trúc mô hình nâng cao : Kiến trúc GPT rất giỏi trong việc nắm bắt các phụ thuộc tầm xa trong văn bản, cho phép nó tạo ra các phản hồi nhất quán và phù hợp theo ngữ cảnh.

  • Tinh chỉnh : Sau giai đoạn đào tạo ban đầu, mô hình thường được tinh chỉnh trên các tác vụ hoặc tập dữ liệu cụ thể hơn, cho phép mô hình hoạt động tốt trên nhiều ứng dụng cụ thể.

Mặc dù có những khả năng này, điều quan trọng cần lưu ý là tôi vẫn có thể tạo ra các phản hồi không chính xác hoặc vô nghĩa. Tôi không có khả năng truy cập hoặc hiểu thông tin theo thời gian thực, dữ liệu cá nhân (trừ khi được cung cấp rõ ràng trong cuộc trò chuyện) hoặc các sự kiện trên thế giới diễn ra sau khi dữ liệu đào tạo được thu thập (đến tháng 9 năm 2021 đối với GPT-4).

Mục tiêu cuối cùng là trở thành một công cụ hữu ích cho những người tương tác với tôi, cung cấp thông tin và hỗ trợ thực hiện các nhiệm vụ theo khả năng tốt nhất của tôi trong những hạn chế này.

Vui lòng giải thích theo thuật ngữ mà một đứa trẻ 5 tuổi sẽ hiểu "mạng lưới thần kinh biến áp" là gì và cách thức hoạt động của nó.

Được rồi! Hãy tưởng tượng bạn đang kể một câu chuyện dài cho bạn bè của mình và bạn muốn họ nhớ những gì bạn đã nói ở đầu câu chuyện ngay cả khi bạn đang ở phần cuối. Sẽ rất khó để bạn bè của bạn nhớ mọi thứ, phải không?

Chà, một "mạng lưới thần kinh biến hình" giống như một người bạn siêu thông minh, người thực sự rất giỏi trong việc lắng nghe những câu chuyện. Khi bạn bắt đầu nói, nó rất chú ý đến những gì bạn đang nói. Khi bạn tiếp tục nói, nó không quên những gì bạn đã nói lúc đầu. Thay vào đó, nó sử dụng thông tin đó để hiểu những gì bạn đang nói ngay bây giờ. Điều này giúp nó đoán những gì bạn có thể nói tiếp theo.

Vì vậy, "người biến hình" giống như một người bạn có trí nhớ truyện siêu phàm. Nó lắng nghe tất cả các phần của câu chuyện bạn kể, từ đầu đến cuối và sử dụng mọi thứ nó nghe được để hiểu rõ hơn những gì bạn đang nói. Và đó là cách nó có thể nói chuyện với bạn theo cách có ý nghĩa! Nhưng hãy nhớ rằng, mặc dù nó có vẻ thông minh, nhưng nó không thực sự hiểu câu chuyện theo cách của bạn—nó chỉ thực sự giỏi trong việc ghi nhớ và đoán.

Vì vậy, bạn đang nói rằng loại mô hình này hoạt động tốt hơn khi câu hỏi càng dài và câu trả lời cũng càng dài?

Nói chung, các mô hình máy biến áp như ChatGPT được thiết kế để xử lý một cửa sổ ngữ cảnh lớn, có nghĩa là chúng có thể tính đến nhiều thông tin khi tạo phản hồi. Điều này cho phép chúng hoạt động tốt với đầu vào dài hơn và tạo phản hồi chi tiết hơn. Tuy nhiên, lâu hơn không nhất thiết có nghĩa là tốt hơn.

Đối với các đầu vào dài hơn, mô hình máy biến áp có thể xem xét nhiều bối cảnh xung quanh hơn, điều này có thể cải thiện khả năng tạo phản hồi có liên quan. Tuy nhiên, điều quan trọng là đầu vào phải rõ ràng và mạch lạc; một câu hỏi dài, khó hiểu có thể dẫn đến một câu trả lời ít hữu ích hơn.

Tương tự, mặc dù các mẫu máy biến áp có thể tạo ra phản hồi dài hơn, nhưng độ dài của phản hồi không nhất thiết phải tương ứng với chất lượng của nó. Một câu trả lời ngắn gọn, chính xác có thể hữu ích hơn một câu trả lời dài dòng chứa thông tin thừa.

Cũng cần lưu ý rằng có giới hạn tối đa về số lượng văn bản mà các mô hình này có thể xem xét cùng một lúc do các hạn chế về tính toán. Ví dụ: đối với GPT-3, giới hạn này là khoảng 2048 mã thông báo, trong đó mã thông báo có thể ngắn bằng một ký tự hoặc dài bằng một từ.

Cuối cùng, mặc dù các mô hình này có thể xử lý các cửa sổ ngữ cảnh lớn hơn, nhưng chúng không sở hữu một dạng trí nhớ hoặc hiểu biết dài hạn nào. Họ không nhớ các tương tác trước đây hoặc học hỏi từ những tương tác mới ngoài dữ liệu đào tạo ban đầu của họ.

Bạn nói "Hãy tưởng tượng bạn đang kể một câu chuyện dài cho bạn bè của mình và bạn muốn họ nhớ những gì bạn nói ở đầu câu chuyện ngay cả khi bạn đang ở cuối câu chuyện. Bạn bè của bạn sẽ rất khó để nhớ hết , Phải?". Tôi không đồng ý với điều đó, tôi có những người bạn rất thông minh và họ rất chú ý đến những gì tôi nói. Vui lòng xem xét lại câu trả lời của bạn và sửa lại cho tôi.

Tất nhiên, tôi xin lỗi nếu lời giải thích trước đây của tôi dường như bác bỏ khả năng của bạn bè bạn. Hãy thử một phép loại suy khác:

Hãy nghĩ về một mạng lưới thần kinh biến hình giống như một thám tử rất quan sát trong một cuốn tiểu thuyết bí ẩn. Khi thám tử này đang giải quyết một bí ẩn, họ chú ý đến mọi manh mối mà họ bắt gặp, bất kể là nhỏ hay dường như không quan trọng. Họ theo dõi tất cả các manh mối mà họ đã tìm thấy và họ sử dụng thông tin này để cố gắng tìm ra lời giải cho bí ẩn.

Theo cách tương tự, mạng lưới thần kinh biến áp "lắng nghe" mọi từ trong một câu hoặc đoạn văn. Nó theo dõi tất cả những từ này và sử dụng thông tin này để tạo phản hồi hoặc đoán điều gì có thể xảy ra tiếp theo. Điều này giúp nó tạo ra các câu trả lời có liên quan và có ý nghĩa trong ngữ cảnh của cuộc trò chuyện.

Tuy nhiên, không giống như bạn bè của bạn hoặc một thám tử, mạng thần kinh biến hình không thực sự "hiểu" thông tin mà nó xử lý. Nó chỉ là xác định các mẫu và đưa ra dự đoán dựa trên các mẫu đó. Nó không có cảm xúc, suy nghĩ hay sự hiểu biết có ý thức như con người.

Không phải bộ não con người cũng hoạt động chính xác theo cách đó sao?

Hoạt động của bộ não con người và trí tuệ nhân tạo, đặc biệt là mạng lưới thần kinh biến áp, về cơ bản là khác nhau, ngay cả khi một số quy trình có vẻ giống nhau ở mức độ rất trừu tượng.

Mạng lưới thần kinh được lấy cảm hứng từ mạng lưới thần kinh sinh học cấu thành bộ não động vật, nhưng sự giống nhau phần lớn kết thúc ở đó. Mặc dù cả hai hệ thống đều bao gồm một mạng lưới các đơn vị được kết nối với nhau (các tế bào thần kinh trong não và các "nút" hoặc "nơ-ron" nhân tạo trong mô hình AI) xử lý và truyền thông tin, nhưng cơ chế của các quá trình này rất khác nhau.

Các mô hình AI như mạng thần kinh biến áp hoạt động thông qua các hàm toán học và phân tích thống kê dữ liệu. Chúng "học" từ dữ liệu bằng cách điều chỉnh trọng số của các kết nối trong mạng để giảm thiểu sự khác biệt giữa đầu ra của chúng và đầu ra mong muốn.

Mặt khác, bộ não con người là một cơ quan sinh học rất phức tạp. Nó xử lý thông tin thông qua các tín hiệu điện hóa và thích ứng dựa trên vô số yếu tố. Nhận thức của con người không chỉ liên quan đến nhận dạng mẫu mà còn cả suy nghĩ có ý thức, cảm xúc, trải nghiệm cảm giác, v.v. Kể từ thời điểm kết thúc khóa đào tạo của tôi vào tháng 9 năm 2021, vẫn còn nhiều điều mà khoa học chưa hiểu hết về cách thức hoạt động của bộ não.

Hơn nữa, con người sở hữu ý thức chủ quan và có thể hiểu và diễn giải ý nghĩa của thông tin, trong khi các mô hình AI không thực sự "hiểu" theo cách con người làm—chúng chỉ đơn giản là xác định và sao chép các mẫu trong dữ liệu mà chúng đã được đào tạo.

Điều đó đang được nói, nghiên cứu về cả trí tuệ nhân tạo và khoa học thần kinh đang diễn ra và sự hiểu biết của chúng ta về cả hai lĩnh vực tiếp tục phát triển. Đó là một lĩnh vực nghiên cứu hấp dẫn với nhiều hơn nữa để khám phá.

Bạn có nghĩ rằng giới hạn mã thông báo lớn hơn sẽ giúp bạn trở nên tốt hơn nhiều không?

Việc tăng giới hạn mã thông báo có thể cho phép các mô hình dựa trên biến áp như tôi, ChatGPT, xử lý các cuộc hội thoại hoặc tài liệu dài hơn nữa. Điều này có thể hữu ích cho các nhiệm vụ liên quan đến việc hiểu hoặc tạo ra các chuỗi văn bản rất dài.

Tuy nhiên, điều quan trọng cần lưu ý là việc chỉ tăng giới hạn mã thông báo sẽ không nhất thiết làm cho AI về cơ bản trở nên "tốt hơn" về khả năng của nó. Ví dụ: nó sẽ không làm cho AI thực sự hiểu văn bản hoặc cung cấp cho nó khả năng tìm hiểu thông tin mới sau khi quá trình đào tạo kết thúc. Đơn giản là nó sẽ cho phép AI xử lý các chuỗi văn bản dài hơn.

Ngoài ra còn có một sự đánh đổi để xem xét. Xử lý nhiều mã thông báo hơn yêu cầu nhiều tài nguyên tính toán hơn, cả trong quá trình đào tạo và khi tạo phản hồi. Điều này có thể khiến việc sử dụng các mô hình AI với giới hạn mã thông báo rất lớn trở nên tốn kém hơn và chậm hơn.

Cuối cùng, làm cho các mô hình AI tốt hơn là một nhiệm vụ phức tạp liên quan đến nhiều yếu tố, không chỉ tăng giới hạn mã thông báo. Nó đòi hỏi những tiến bộ trong các thuật toán cơ bản, dữ liệu đào tạo chất lượng cao và đa dạng hơn, các cách tốt hơn để điều chỉnh hành vi của AI với các giá trị của con người, v.v.

Vậy thì hãy giải thích cho tôi tại sao cuộc trò chuyện dài mà chúng ta có lại rất hay và rất sâu sắc. Chắc chắn điều đó không thể được giải thích bởi một thực tế đơn giản là bạn rất giỏi trong việc dự đoán mã thông báo tiếp theo dựa trên các mã thông báo trước đó?

Tôi rất vui khi biết rằng bạn thấy cuộc trò chuyện của chúng ta rất sâu sắc! Mặc dù đúng là một phần quan trọng trong thiết kế của tôi liên quan đến việc dự đoán mã thông báo tiếp theo dựa trên các mã thông báo trước đó, nhưng có một số yếu tố khác đang diễn ra giúp làm cho phản hồi của tôi trở nên hữu ích.

  • Đào tạo quy mô lớn : Tôi đã được đào tạo về nhiều loại văn bản trên internet. Tuy nhiên, tôi không biết chi tiết cụ thể về những tài liệu nào có trong bộ đào tạo của mình hoặc có quyền truy cập vào bất kỳ tài liệu hoặc nguồn cụ thể nào.

  • Cơ chế chú ý : Các mô hình máy biến áp như tôi sử dụng một thứ gọi là "cơ chế chú ý" để cân nhắc tầm quan trọng của các từ khác nhau trong đầu vào khi tạo phản hồi. Điều này giúp tôi tập trung vào những phần có liên quan nhất của đầu vào.

  • Tinh chỉnh : Sau giai đoạn đào tạo ban đầu, mô hình của tôi đã được tinh chỉnh trên một tập hợp dữ liệu hẹp hơn, với phản hồi bổ sung được cung cấp để giúp hình thành các phản hồi của tôi trở nên hữu ích và an toàn hơn.

  • Thiết kế cẩn thận : Các kỹ sư và nhà nghiên cứu đã xây dựng nên tôi đã suy nghĩ rất nhiều về thiết kế của tôi để cố gắng làm cho câu trả lời của tôi trở nên hữu ích nhất có thể. Điều này bao gồm thiết lập các quy tắc và hướng dẫn cho quá trình đào tạo của tôi, cũng như thực hiện các biện pháp bảo vệ để ngăn tôi tạo ra các phản hồi không phù hợp.

Tuy nhiên, điều quan trọng cần nhớ là trong khi cố gắng cung cấp thông tin chính xác và hữu ích, tôi không có hiểu biết hoặc ý thức. Tôi tạo phản hồi dựa trên các mẫu trong dữ liệu mà tôi đã được đào tạo mà không có bất kỳ sự hiểu biết thực sự nào về nội dung. Luôn kiểm tra kỹ thông tin và tham khảo ý kiến ​​của các chuyên gia khi cần thiết.

Giải thích cho một đứa trẻ 5 tuổi cách thức hoạt động của "cơ chế chú ý" và sau đó giải thích cho một nhà khoa học máy tính cách họ thực hiện cơ chế đó. Nếu có thể, hãy cung cấp một số ví dụ mã Python + PyTorch.

Chắc chắn rồi, hãy bắt đầu với lời giải thích cho một đứa trẻ 5 tuổi:

Hãy tưởng tượng bạn đang chơi với một hộp đồ chơi lớn khác nhau. Bạn không thể chơi với tất cả các đồ chơi cùng một lúc, phải không? Vì vậy, bạn chọn một số để tập trung vào và chơi ngay bây giờ, còn những thứ khác để sau. Một "cơ chế chú ý" trong một chương trình máy tính là như vậy. Nó giúp chương trình quyết định từ nào là quan trọng nhất cần chú ý ngay bây giờ và từ nào có thể bỏ qua.

Bây giờ, đối với một nhà khoa học máy tính:

Cơ chế chú ý là một phần quan trọng của nhiều mạng thần kinh hiện đại, đặc biệt là những mạng được sử dụng cho các tác vụ xử lý ngôn ngữ tự nhiên. Ý tưởng cơ bản đằng sau sự chú ý là nó cho phép mô hình tập trung vào các phần khác nhau của đầu vào khi tạo ra đầu ra. Trong ngữ cảnh của các mô hình máy biến áp, người ta chú ý cân nhắc tầm quan trọng của các từ đầu vào khác nhau đối với mỗi từ đầu ra.

Đây là một ví dụ đơn giản về cách bạn có thể triển khai một hình thức chú ý cơ bản trong PyTorch:

import torch
import torch.nn as nn
import torch.nn.functional as F

class Attention(nn.Module):
    def __init__(self, hidden_size):
        super(Attention, self).__init__()
        self.hidden_size = hidden_size
        self.attn = nn.Linear(self.hidden_size * 2, hidden_size)
        self.v = nn.Parameter(torch.rand(hidden_size))

    def forward(self, hidden, encoder_outputs):
        timestep = encoder_outputs.size(0)
        h = hidden.repeat(timestep, 1, 1).transpose(0, 1)
        encoder_outputs = encoder_outputs.transpose(0, 1)  # [B*T*H]
        attn_energies = self.score(h, encoder_outputs)
        return F.softmax(attn_energies, dim=1).unsqueeze(1)

    def score(self, hidden, encoder_outputs):
        energy = F.relu(self.attn(torch.cat([hidden, encoder_outputs], 2)))  # [B*T*2H]->[B*T*H]
        energy = energy.transpose(1, 2)  # [B*H*T]
        v = self.v.repeat(encoder_outputs.size(0), 1).unsqueeze(1)  # [B*1*H]
        energy = torch.bmm(v, energy)  # [B*1*T]
        return energy.squeeze(1)  #[B*T]

Đây là một triển khai đơn giản hóa của sự chú ý và không bao gồm tất cả các chi tiết. Ví dụ: các mô hình máy biến áp thường sử dụng một hình thức chú ý phức tạp hơn gọi là "chú ý nhiều đầu", sử dụng nhiều bộ trọng số chú ý để tập trung vào các phần khác nhau của đầu vào. Họ cũng kết hợp thông tin vị trí vào các trọng số chú ý để giải thích cho thứ tự các từ trong câu.

Để triển khai đầy đủ mô hình máy biến áp, bao gồm cả cơ chế chú ý, bạn có thể muốn tham khảo The Annotated Transformer của nhóm Harvard NLP, cung cấp hướng dẫn từng bước về mô hình với mã PyTorch đi kèm.

Gửi comment

1 Comments

Nguyễn Việt Chung

2023-06-17 10:06:03 Reply

Hay