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ư nhóm Gemini các mô hình có thể tạo nội dung từ nhiều kiểu 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, các mô hình này hoạt động như tự động hoàn thành tinh vi. Văn bản nhập được cung cấp ("Bạn có thể dẫn dắt ngựa nước"), một mô hình tạo sinh có thể dự đoán rằng văn bản đầu ra có khả năng sẽ theo dõi ("nhưng bạn không thể uống rượu"), dựa trên mẫu học được từ dữ liệu huấn luyện của họ. Bạn có thể sử dụng thuộc tính cơ bản này của các mô hình tạo sinh cho nhiều ứng dụng:

  • Tạo ra tác phẩm sáng tạo như thơ, truyện ngắn, ẩ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 các ngôn ngữ

Bạn không cần dùng máy nào để sử dụng các mô hình tạo sinh để xây dựng các tính năng này kiến thức chuyên môn về học máy (ML). Bạn không cần phải thu thập một tập dữ liệu lớn hoặc huấn luyện một mô hình. Để bắt đầu nguyên mẫu đầu tiên của mình, bạn chỉ cần mô tả những gì bạn muốn mô hình cần 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 bằng 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 hơn so với dữ liệu văn bản và mặc dù chúng có thể thực hiện các chức năng của một mô hình ngôn ngữ lớn (LLM), nhưng chúng được gọi chính xác hơn là mô hình tạo sinh.

Ứng dụng mẫu

Các ví dụ sau đây hiển thị dữ liệu đầu vào văn bản điển hình cho và đầu ra 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 của 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 của 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ể sử dụng các mô hình tạo sinh để sản xuất mọi loại hành vi hữu ích như thao tác này, chỉ bằng cách tạo văn bản nhập phù hợp, còn được gọi là lời nhắc. Nghệ thuật và khoa học về việc tìm ra từ ngữ phù hợp để thu hút các mô hình tạo sinh tính năng bạn muốn được gọi là thiết kế câu lệnh (còn được gọi là "kỹ thuật câu lệnh" hoặc chỉ là "nhắc nhở").

Thông tin cơ bản về thiết kế câu lệnh

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ơ". Hình thức hướng dẫn này có thể phù hợp với 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 lời nhắc khác kỹ thuật có tên là nhắc nhở vài lần có thể hoạt động tốt hơn. Chỉ cần vài câu lệnh ở chỗ các mô hình ngôn ngữ lớn rất giỏi nhận dạng và tái tạo các mẫu trong dữ liệu văn bản. Mục đích là để gửi tạo sinh một mẫu văn bản mà mô hình đó học được để hoàn thành. Ví dụ: giả sử bạn muốn tạo một ứng dụng lấy đầu vào là tên quốc gia và xuất ra thủ đô. Dưới đây là câu lệnh bằng văn bản được thiết kế để làm việc đó:

Italy : Rome
France : Paris
Germany :

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

     Berlin
Turkey : Ankara
Greece : Athens

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

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

Bạn vừa viết một vài câu lệnh để tạo thủ đô của quốc gia.

Bạn có thể hoàn thành nhiều thao tác bằng cách làm theo lời nhắc một vài lần này mẫu. Sau đây là một câu lệnh vài ảnh 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, lấy "từ điển đảo ngược" này . Với một định nghĩa, hàm này trả về giá trị 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 mẫu chính xác của các câu lệnh vài lần nhấp này khác nhau một chút. Ngoài việc đưa ra các ví dụ, việc cung cấp hướng dẫn trong lời nhắc là một chiến lược bổ sung cần cân nhắc khi viết câu lệnh của riêng bạn, như nó giúp truyền đạt ý định của bạn cho mô hình.

Đưa ra lời nhắc 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 vẫn còn mơ hồ ngay cả đối với người đào tạo mô hình. Là một nên bạn thường không thể dự đoán trước loại cấu trúc câu lệnh nào sẽ phù hợp nhất với mô hình cụ thể. Hơn thế nữa, hành vi của một nhân viên tạo sinh được xác định phần lớn bởi dữ liệu huấn luyện của nó và do các mô hình được liên tục theo dõi các tập dữ liệu mới, đôi khi mô hình thay đổi đủ để nó vô tình thay đổi cấu trúc câu lệnh nào hoạt động hiệu quả nhất. Tác động của việc này bạn? Thử nghiệm! Hãy thử các định dạng câu lệnh khác nhau.

Thông số mô hình

Mỗi câu lệnh bạn gửi đến mô hình đều có các giá trị thông số kiểm soát cách mô hình sẽ tạo một phản hồi. Mô hình đó có thể tạo ra các kết quả khác nhau cho các giá trị thông số khác nhau. Các tham số mô hình phổ biến nhất 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ể được tạo trong câu trả lời. Mã thông báo có khoảng 4 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 của mã thông báo lựa chọn. 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 là tốt đối với những câu lệnh yêu cầu câu trả lời có tính xác định hơn hoặc ít mở hơn, còn nhiệt độ cao hơn có thể mang lại kết quả đa dạng hoặc sáng tạo hơn. Đáp nhiệt độ bằng 0 có tính tất định, nghĩa là xác suất cao nhất luôn chọn câu trả lời.

  3. topK: Tham số topK thay đổi cách mô hình chọn mã thông báo cho đầu ra. topK là 1 có nghĩa là mã thông báo đã chọn có khả năng cao nhất trong số tất cả mã thông báo trong từ vựng của mô hình (còn được gọi là giải mã tham lam), trong khi topK là 3 có nghĩa là mã thông báo tiếp theo được chọn trong số 3 có thể nhất bằng cách sử dụng 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 đó là mã thông báo được lọc thêm 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 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 theo mức độ có khả năng cao nhất đến ít nhất cho đến tổng số xác suất của chúng bằng với 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 phương pháp và loại trừ C khỏi vai trò ứng viên. Giá trị topP mặc định là 0,95.

  5. stop_sequences: Đặt trình tự dừng thành yêu cầu mô hình ngừng tạo nội dung. Trình tự dừng có thể là bất kỳ chuỗi ký tự. Cố gắng tránh sử dụng 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 mức độ thông tin theo bối cảnh có trong đó, lời nhắc sẽ được được phân loại thành 3 loại.

Lời nhắc nhập 0

Những câu lệnh này không chứa các ví dụ về mô hình để nhân rộng. Không chụp về cơ bản cho thấy khả năng hoàn tất lời nhắc của mô hình mà không cần bất kỳ lời nhắc nào ví dụ hoặc thông tin khác. Điều đó có nghĩa là mô hình này phải dựa vào kiến thức có sẵn để đưa ra một câu trả lời hợp lý.

Một số mẫu câu lệnh nhập từ không 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ể để văn bản tiếp tục của mô hình mà không cần hướng dẫn. Ví dụ: đây là lời nhắc nhập từ 0 bước trong đó mô hình nhằm tiếp tục đầu vào đã 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 chụp ảnh chân dung để tạo định dạng văn bản sáng tạo, chẳng hạn như thơ, đoạn mã kịch bản, bản nhạc, email hoặc chữ cái.

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

Các câu lệnh này cung cấp cho mô hình một ví dụ duy nhất để nhân bản và tiếp tục mẫu. Điều này cho phép tạo ra 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 thực phẩm như:

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

Lời nhắc một vài cảnh

Những câu lệnh này cung cấp nhiều ví dụ để mô hình hoá. Sử dụng lời nhắc thực hiện một vài lần để hoàn tất các công việc phức tạp, chẳng hạn như tổng hợp dữ liệu dựa trên 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"}

Mô hình tạo sinh nâng cao

Phần này nhằm trả lời câu hỏi Có sự ngẫu nhiên trong hoạt động tạo sinh người mẫu hay mang tính quyết định?

Câu trả lời ngắn - có cho cả hai. Khi bạn nhắc một mô hình tạo sinh, một văn bản phản hồi được tạo theo hai giai đoạn. Trong giai đoạn đầu tiên, mô hình tạo sinh xử lý lời nhắc đầu vào và tạo phân phối xác suất theo mã thông báo (từ) có thể xuất hiện tiếp theo. Ví dụ: nếu bạn nhắc với nội dung nhập là "Chú chó đã nhảy qua ... ", mô hình tạo sinh sẽ cho 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), ...]

Quá trình này mang tính quyết định; một mô hình tạo sinh sẽ tạo ra dữ liệu này mỗi khi nhập cùng một văn bản lời nhắc.

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

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

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