Giới thiệu về các mô hình tạo sinh

Các mô hình trí tuệ nhân tạo (AI) tạo sinh (chẳng hạn như dòng mô hình Gemini) có thể tạo nội dung qua nhiều loại dữ liệu đầu vào, bao gồm văn bản, hình ảnh và âm thanh. Ở cấp độ cơ bản nhất, những mô hình này hoạt động như các ứng dụng tự động hoàn thành tinh vi. Cho sẵn văn bản đầu vào ("Bạn có thể dắt ngựa đến uống nước"), mô hình tạo sinh có thể dự đoán rằng văn bản đầu ra có khả năng tuân theo ("nhưng bạn không thể làm cho nó uống"), dựa trên các mẫu học được từ dữ liệu huấn luyện của chúng. Bạn có thể sử dụng thuộc tính cơ bản này của mô hình tạo sinh cho nhiều ứng dụng:

  • Tạo ra các bài viết sáng tạo như thơ, truyện ngắn, phép ẩn dụ và bài đăng trên blog
  • Chuyển đổi dữ liệu có cấu trúc thành văn bản dạng tự do
  • Trích xuất và tóm tắt thông tin từ văn bản dạng tự do
  • Tạo mã
  • Dịch giữa nhiều ngôn ngữ

Việc sử dụng các mô hình tạo sinh để xây dựng các tính năng này không đòi hỏi kiến thức chuyên môn về công nghệ học máy (ML). Bạn không cần thu thập một tập dữ liệu lớn hoặc huấn luyện một mô hình. Tất cả những gì cần làm để bắt đầu nguyên mẫu đầu tiên là mô tả những gì bạn muốn mô hình làm trong một vài câu.

Các mô hình tạo sinh chỉ xử lý dữ liệu nhập và xuất văn bản còn được gọi là mô hình ngôn ngữ lớn (LLM). Nhóm mô hình Gemini có thể xử lý nhiều dữ liệu hơn so với dữ liệu văn bản. Tuy có thể thực hiện các chức năng của LLM, nhưng chúng còn được gọi là mô hình tạo sinh đúng hơn.

Ứng dụng mẫu

Các ví dụ sau đây minh hoạ dữ liệu đầu vào văn bản thông thường cho và đầu ra từ một mô hình tạo sinh.

Sáng tác một bài thơ

Dữ liệu do người dùng nhập: Write me a four-line poem about puppies and Android phones. Make sure it rhymes.

Đầu ra cho mô hình:

Puppies are cute,
Android phones are neat,
They both bring joy,
And make life complete.

Tạo danh sách

Dữ liệu do người dùng nhập: Generate a bulleted list of items I need to pack for a three-day camping trip.

Đầu ra cho mô hình:

*   Tent
*   Sleeping bag
*   Sleeping pad
*   Camp stove
*   Pots and pans
*   Utensils
*   Food
*   Water
*   First-aid kit
*   Sunscreen
*   Insect repellent
*   ...

Bạn có thể có được các mô hình tạo sinh để tạo tất cả các loại hành vi hữu ích như thế này, chỉ cần tạo văn bản đầu vào phù hợp, còn được gọi là lời nhắc. Nghệ thuật và khoa học trong việc tìm ra từ ngữ phù hợp để giúp các mô hình tạo sinh thực hiện điều bạn muốn được gọi là thiết kế lời nhắc (còn gọi là "thiết kế lời nhắc" hoặc đơn giản là "nhắc nhở").

Thiết kế lời nhắc cơ bản

Phần trước đã trình bày một số ví dụ về câu lệnh có chứa hướng dẫn, chẳng hạn như "Viết cho tôi một bài thơ". Loại hướng dẫn này có thể áp dụng hiệu quả cho một số loại tác vụ nhất định. Tuy nhiên, đối với các ứng dụng khác, một kỹ thuật nhắc khác có tên là lời nhắc vài lần có thể hoạt động hiệu quả hơn. Lời nhắc chỉ cần thực hiện vài lần tận dụng một thực tế là các mô hình ngôn ngữ lớn rất hiệu quả trong việc nhận dạng và sao chép các mẫu trong dữ liệu văn bản. Mục đích là gửi cho mô hình tạo sinh một mẫu văn bản mà mô hình học để hoàn thành. Ví dụ: giả sử bạn muốn xây dựng một ứng dụng nhận dữ liệu đầu vào là tên quốc gia và xuất ra thành phố thủ đô của quốc gia đó. Dưới đây là câu lệnh dạng văn bản được thiết kế để giúp bạn làm việc đó:

Italy : Rome
France : Paris
Germany :

Trong câu lệnh này, bạn cần thiết lập một mẫu: [country] : [capital]. Nếu bạn gửi lời nhắc này đến một mô hình ngôn ngữ lớn, thì lời nhắc này sẽ tự động hoàn thành mẫu đó và trả về nội dung như sau:

     Berlin
Turkey : Ankara
Greece : Athens

Phản hồi của mô hình này có thể hơi lạ. Mô hình này không chỉ trả về thủ đô của Đức (quốc gia cuối cùng trong câu lệnh viết tay), mà còn trả về toàn bộ danh sách các cặp chữ và quốc gia bổ sung. Đó là vì mô hình tạo sinh đang "tiếp tục mẫu". Nếu bạn chỉ cố gắng tạo một hàm cho biết thủ đô của một quốc gia đầu vào ("Đức : Berlin"), thì có thể bạn sẽ không thực sự quan tâm đến bất kỳ văn bản nào mà mô hình này tạo ra sau "Berlin". Thật vậy, là những nhà thiết kế ứng dụng, có thể bạn sẽ muốn cắt bớt những ví dụ không liên quan đó. Hơn nữa, bạn nên tham số hoá dữ liệu đầu vào để Đức không phải là một chuỗi cố định mà là một biến do người dùng cuối cung cấp:

Italy : Rome
France : Paris
<user input here> :

Bạn vừa viết một lời nhắc cần thực hiện vài bước để tạo chữ viết hoa của quốc gia.

Bạn có thể thực hiện một số lượng lớn thao tác bằng cách làm theo mẫu lời nhắc vài lần bật này. Dưới đây là lời nhắc một vài lần có định dạng hơi khác chuyển đổi Python thành JavaScript:

Convert Python to JavaScript.
Python: print("hello world")
JavaScript: console.log("hello world")
Python: for x in range(0, 100):
JavaScript: for(var i = 0; i < 100; i++) {
Python: ${USER INPUT HERE}
JavaScript:

Hoặc, thực hiện thao tác "đảo ngược từ điển" này. Với một định nghĩa, hàm này sẽ trả về từ phù hợp với định nghĩa đó:

Given a definition, return the word it defines.
Definition: When you're happy that other people are also sad.
Word: schadenfreude
Definition: existing purely in the mind, but not in physical reality
Word: abstract
Definition: ${USER INPUT HERE}
Word:

Bạn có thể nhận thấy rằng mẫu chính xác của các lời nhắc một vài lần này thay đổi đôi chút. Ngoài việc chứa các ví dụ, việc đưa ra hướng dẫn trong lời nhắc là một chiến lược bổ sung mà bạn nên cân nhắc khi tự viết lời nhắc, vì điều này giúp truyền đạt ý định của bạn cho mô hình.

Nhắc nhở so với phát triển phần mềm truyền thống

Không giống như phần mềm truyền thống được thiết kế theo thông số kỹ thuật được viết cẩn thận, hành vi của các mô hình tạo sinh phần lớn là không rõ ràng ngay cả đối với trình huấn luyện mô hình. Do đó, thường thì bạn không thể dự đoán trước loại cấu trúc lời nhắc nào sẽ phù hợp nhất với một mô hình cụ thể. Hơn nữa, hành vi của một mô hình tạo sinh được xác định phần lớn dựa trên dữ liệu huấn luyện, và vì các mô hình liên tục được điều chỉnh trên các tập dữ liệu mới, nên đôi khi mô hình thay đổi đủ để vô tình thay đổi cấu trúc lời nhắc nào hoạt động hiệu quả nhất. Điều này có ý nghĩa gì đối với bạn? Thử nghiệm! Hãy thử nhiều định dạng câu lệnh.

Thông số mô hình

Mọi lời nhắc bạn gửi đến mô hình đều bao gồm các giá trị tham số kiểm soát cách mô hình tạo ra một phản hồi. Mô hình này có thể tạo ra các kết quả khác nhau cho các giá trị tham số khác nhau. Các tham số phổ biến nhất của mô hình là:

  1. Mã thông báo đầu ra tối đa: Chỉ định số lượng mã thông báo tối đa có thể tạo trong phản hồi. Mã thông báo có khoảng bốn ký tự. 100 mã thông báo tương ứng với khoảng 60-80 từ.

  2. Nhiệt độ: Nhiệt độ kiểm soát mức độ ngẫu nhiên trong việc lựa chọn mã thông báo. Nhiệt độ được dùng để lấy mẫu trong quá trình tạo phản hồi, xảy ra khi áp dụng topPtopK. Nhiệt độ thấp hơn phù hợp với các câu lệnh yêu cầu câu trả lời mang tính xác định hoặc ít mang tính mở rộng hơn. Trong khi đó, nhiệt độ cao hơn có thể mang lại kết quả đa dạng hoặc sáng tạo hơn. Nhiệt độ bằng 0 là tính xác định, nghĩa là phản hồi có khả năng cao nhất luôn được chọn.

  3. topK: Tham số topK thay đổi cách mô hình chọn mã thông báo cho đầu ra. topK 1 có nghĩa là mã thông báo được chọn là mã có nhiều khả năng xuất hiện nhất trong số tất cả các mã thông báo trong từ vựng của mô hình (còn gọi là giải mã tham chiếu), trong khi topK 3 có nghĩa là mã thông báo tiếp theo được chọn trong số 3 mã thông báo tiếp theo có khả năng xuất hiện nhất dựa trên nhiệt độ. Đối với mỗi bước chọn mã thông báo, mã thông báo topK có xác suất cao nhất sẽ được lấy mẫu. Sau đó, các mã thông báo được lọc tiếp theo dựa trên topP với mã thông báo cuối cùng được chọn bằng cách sử dụng tính năng lấy mẫu nhiệt độ.

  4. topP: Tham số topP thay đổi cách mô hình chọn mã thông báo cho đầu ra. Mã thông báo được chọn từ khả năng có nhiều nhất đến ít có khả năng nhất cho đến khi tổng các xác suất của chúng bằng giá trị topP. Ví dụ: nếu mã thông báo A, B và C có xác suất là 0,3, 0,2 và 0,1 và giá trị topP là 0,5, thì mô hình sẽ chọn A hoặc B làm mã thông báo tiếp theo bằng cách sử dụng nhiệt độ và loại C làm đề xuất. Giá trị topP mặc định là 0,95.

  5. stop_sequences: Thiết lập trình tự dừng để yêu cầu mô hình ngừng tạo nội dung. Một chuỗi dừng có thể là bất kỳ chuỗi ký tự nào. Cố gắng tránh sử dụng một chuỗi ký tự có thể xuất hiện trong nội dung đã tạo.

Các loại câu lệnh

Tuỳ thuộc vào cấp độ thông tin theo ngữ cảnh có trong đó, lời nhắc sẽ được phân loại thành 3 loại.

Lời nhắc tự động đăng ký

Những lời nhắc này không chứa ví dụ để mô hình sao chép. Về cơ bản, lời nhắc không chụp sẽ cho thấy mô hình có khả năng hoàn thành câu lệnh mà không cần thêm ví dụ hoặc thông tin nào. Điều này có nghĩa là mô hình này phải dựa vào kiến thức có sẵn để tạo ra câu trả lời hợp lý.

Một số mẫu lời nhắc không thực hiện thao tác thường dùng là:

  • Nội dung hướng dẫn
<Overall instruction>
<Content to operate on>

Ví dụ:

Summarize the following into two sentences at the third-grade level:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds.

Hummingbirds are made up of three main parts: the head, the body, and the tail.
The head is small and round, and it contains the eyes, the beak, and the brain.
The body is long and slender, and it contains the wings, the legs, and the
heart. The tail is long and forked, and it helps the hummingbird to balance
while it is flying.

Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color!

Hummingbirds are very active creatures. They spend most of their time flying,
and they are also very good at hovering. Hummingbirds need to eat a lot of food
in order to maintain their energy, and they often visit flowers to drink nectar.

Hummingbirds are amazing creatures. They are small, but they are also very
powerful. They are beautiful, and they are very important to the ecosystem.
  • Hướng dẫn-nội dung hướng dẫn
<Overall instruction or context setting>
<Content to operate on>
<Final instruction>

Ví dụ:

Here is some text I'd like you to summarize:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds. Hummingbirds
are made up of three main parts: the head, the body, and the tail. The head is
small and round, and it contains the eyes, the beak, and the brain. The body is
long and slender, and it contains the wings, the legs, and the heart. The tail
is long and forked, and it helps the hummingbird to balance while it is flying.
Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color! Hummingbirds are very active creatures. They spend most
of their time flying, and they are also very good at hovering. Hummingbirds need
to eat a lot of food in order to maintain their energy, and they often visit
flowers to drink nectar. Hummingbirds are amazing creatures. They are small, but
they are also very powerful. They are beautiful, and they are very important to
the ecosystem.

Summarize it in two sentences at the third-grade reading level.
  • Tiếp tục. Đôi khi, bạn có thể yêu cầu mô hình tiếp tục bằng văn bản mà không cần hướng dẫn. Ví dụ: dưới đây là lời nhắc không kích hoạt, trong đó mô hình dự định tiếp tục đầu vào được cung cấp:
Once upon a time, there was a little sparrow building a nest in a farmer's
barn. This sparrow

Sử dụng câu lệnh tự động để tạo các định dạng văn bản sáng tạo, chẳng hạn như thơ, mã, kịch bản, tác phẩm âm nhạc, email hoặc chữ cái.

Câu lệnh một lần

Những lời nhắc này cung cấp cho mô hình một ví dụ để sao chép và tiếp tục mẫu. Điều này cho phép tạo các phản hồi có thể dự đoán từ mô hình.

Ví dụ: bạn có thể tạo các cặp đồ ăn như:

Food: Apple
Pairs with: Cheese
Food: Pear
Pairs with:

Lời nhắc nhanh chóng

Các câu lệnh này cung cấp cho mô hình nhiều ví dụ để sao chép. Sử dụng lời nhắc nhanh chóng để hoàn thành các thao tác phức tạp, chẳng hạn như tổng hợp dữ liệu dựa trên một mẫu.

Ví dụ về câu lệnh:

Generate a grocery shopping list for a week for one person. Use the JSON format
given below.
{"item": "eggs", "quantity": "6"}
{"item": "bread", "quantity": "one loaf"}

Tìm hiểu sâu về mô hình tạo sinh

Phần này nhằm trả lời câu hỏi – Câu trả lời của các mô hình tạo sinh có tính ngẫu nhiên hay không hay chúng mang tính tất định?

Câu trả lời ngắn gọn – có cho cả hai. Khi bạn nhắc một mô hình tạo sinh, một phản hồi bằng văn bản sẽ được tạo qua 2 giai đoạn. Trong giai đoạn đầu tiên, mô hình tạo sinh sẽ xử lý câu lệnh đầu vào và tạo ra sự phân bổ xác suất trên các mã thông báo (từ) có thể xuất hiện trong lần tới. Ví dụ: nếu bạn nhắc bằng văn bản đầu vào "The chó đã nhảy qua ... ", thì mô hình tạo sinh sẽ đưa ra một loạt các từ tiếp theo có thể xuất hiện:

[("fence", 0.77), ("ledge", 0.12), ("blanket", 0.03), ...]

Quy trình này mang tính quyết định; một mô hình tạo sinh sẽ tạo ra cùng một bản phân phối này mỗi khi nhập cùng một văn bản lời nhắc.

Trong giai đoạn thứ hai, mô hình tạo sinh chuyển đổi những bản phân phối này thành phản hồi bằng văn bản thực tế thông qua một trong số nhiều chiến lược giải mã. Một chiến lược giải mã đơn giản có thể chọn mã thông báo phù hợp nhất tại mỗi bước thời gian. Quá trình này sẽ luôn mang tính quyết định. Tuy nhiên, thay vào đó, bạn có thể chọn tạo phản hồi bằng cách lấy mẫu ngẫu nhiên trên phạm vi phân phối do mô hình trả về. Quá trình này sẽ diễn ra một cách ngẫu nhiên (ngẫu nhiên). Kiểm soát mức độ ngẫu nhiên được phép trong quá trình giải mã này bằng cách đặt nhiệt độ. Nhiệt độ bằng 0 có nghĩa là chỉ những mã có nhiều khả năng được chọn nhất và không có tính ngẫu nhiên. Ngược lại, nhiệt độ cao sẽ chèn một mức độ ngẫu nhiên cao vào mã thông báo do mô hình chọn, dẫn đến các phản hồi bất ngờ và đáng ngạc nhiên hơn của mô hình.

Tài liệu đọc thêm

  • Giờ thì bạn đã hiểu rõ hơn về các câu lệnh và mô hình tạo sinh, hãy thử tự viết câu lệnh bằng Google AI Studio.
  • Tham khảo Nguyên tắc về lời nhắc để tìm hiểu thêm về các phương pháp hay nhất để tạo câu lệnh.