Ngữ cảnh dài

Nhiều mô hình Gemini có cửa sổ ngữ cảnh lớn gồm 1 triệu token trở lên. Trước đây, các mô hình ngôn ngữ lớn (LLM) bị giới hạn đáng kể bởi lượng văn bản (hoặc mã thông báo) có thể được truyền đến mô hình cùng một lúc. Cửa sổ ngữ cảnh dài của Gemini mở ra nhiều trường hợp sử dụng mới và mô hình cho nhà phát triển.

Mã bạn đã sử dụng cho các trường hợp như tạo văn bản hoặc dữ liệu đầu vào đa phương thức sẽ hoạt động mà không cần thay đổi nào đối với ngữ cảnh dài.

Tài liệu này cung cấp thông tin tổng quan về những gì bạn có thể đạt được khi sử dụng các mô hình có cửa sổ ngữ cảnh từ 1 triệu token trở lên. Trang này cung cấp thông tin tổng quan ngắn gọn về cửa sổ ngữ cảnh và khám phá cách nhà phát triển nên suy nghĩ về ngữ cảnh dài, nhiều trường hợp sử dụng thực tế cho ngữ cảnh dài và cách tối ưu hoá việc sử dụng ngữ cảnh dài.

Để biết kích thước cửa sổ ngữ cảnh của các mô hình cụ thể, hãy xem trang Mô hình.

Cửa sổ ngữ cảnh là gì?

Cách cơ bản để sử dụng các mô hình Gemini là truyền thông tin (ngữ cảnh) vào mô hình. Sau đó, mô hình này sẽ tạo ra một phản hồi. Bạn có thể so sánh cửa sổ ngữ cảnh với bộ nhớ ngắn hạn. Bộ nhớ ngắn hạn của con người chỉ có thể lưu trữ một lượng thông tin hạn chế, và điều này cũng đúng với các mô hình tạo sinh.

Bạn có thể đọc thêm về cách hoạt động của các mô hình trong hướng dẫn về mô hình tạo sinh.

Bắt đầu với ngữ cảnh dài

Các phiên bản trước của mô hình tạo sinh chỉ có thể xử lý 8.000 mã thông báo cùng một lúc. Các mẫu mới hơn đã đẩy mạnh hơn nữa bằng cách chấp nhận 32.000 hoặc thậm chí là 128.000 mã thông báo. Gemini là mô hình đầu tiên có thể chấp nhận 1 triệu mã thông báo.

Trong thực tế, 1 triệu mã thông báo sẽ có dạng như sau:

  • 50.000 dòng mã (với 80 ký tự tiêu chuẩn trên mỗi dòng)
  • Tất cả tin nhắn văn bản mà bạn đã gửi trong 5 năm qua
  • 8 cuốn tiểu thuyết tiếng Anh có độ dài trung bình
  • Bản chép lời của hơn 200 tập podcast có thời lượng trung bình

Các cửa sổ ngữ cảnh bị hạn chế hơn thường thấy trong nhiều mô hình khác thường yêu cầu các chiến lược như thả tuỳ ý các thông báo cũ, tóm tắt nội dung, sử dụng RAG với cơ sở dữ liệu vectơ hoặc lọc lời nhắc để lưu mã thông báo.

Mặc dù các kỹ thuật này vẫn có giá trị trong một số trường hợp cụ thể, nhưng cửa sổ ngữ cảnh rộng của Gemini lại mang đến một phương pháp trực tiếp hơn: cung cấp trước tất cả thông tin liên quan. Vì các mô hình Gemini được thiết kế riêng với nhiều chức năng ngữ cảnh, nên chúng thể hiện khả năng học tập hiệu quả theo ngữ cảnh. Ví dụ: chỉ sử dụng tài liệu hướng dẫn theo ngữ cảnh (một cuốn ngữ pháp tham khảo gồm 500 trang, một từ điển và ≈400 câu song song), Gemini đã học cách dịch từ tiếng Anh sang Kalamang – một ngôn ngữ Papuan có ít hơn 200 người nói – với chất lượng tương tự như một người học sử dụng cùng một tài liệu. Điều này minh hoạ sự thay đổi về mô hình do ngữ cảnh dài của Gemini mang lại, mở ra các khả năng mới thông qua việc học tập hiệu quả theo bối cảnh.

Các trường hợp sử dụng ngữ cảnh dài

Mặc dù trường hợp sử dụng tiêu chuẩn cho hầu hết các mô hình tạo sinh vẫn là nhập văn bản, nhưng gia đình mô hình Gemini cho phép một mô hình mới về các trường hợp sử dụng đa phương thức. Các mô hình này có thể hiểu được văn bản, video, âm thanh và hình ảnh ngay từ đầu. Các API này đi kèm với Gemini API nhận các loại tệp đa phương thức để thuận tiện.

Văn bản dạng dài

Văn bản đã được chứng minh là lớp thông minh hỗ trợ phần lớn đà phát triển của LLM. Như đã đề cập trước đó, phần lớn hạn chế thực tế của LLM là do không có cửa sổ ngữ cảnh đủ lớn để thực hiện một số tác vụ nhất định. Điều này đã dẫn đến việc nhanh chóng áp dụng tính năng tạo tăng cường truy xuất (RAG) và các kỹ thuật khác giúp cung cấp linh động cho mô hình thông tin ngữ cảnh liên quan. Giờ đây, với các cửa sổ ngữ cảnh ngày càng lớn, có các kỹ thuật mới sẽ giúp mở ra các trường hợp sử dụng mới.

Sau đây là một số trường hợp sử dụng tiêu chuẩn và mới nổi cho ngữ cảnh dài dựa trên văn bản:

  • Tóm tắt các tập hợp văn bản lớn
    • Các tuỳ chọn tóm tắt trước đây với mô hình ngữ cảnh nhỏ hơn sẽ yêu cầu một cửa sổ trượt hoặc một kỹ thuật khác để giữ trạng thái của các phần trước khi mã thông báo mới được truyền đến mô hình
  • Hỏi và trả lời
    • Trước đây, điều này chỉ có thể thực hiện được với RAG do lượng ngữ cảnh bị hạn chế và khả năng gợi nhắc thực tế của các mô hình thấp
  • Quy trình làm việc của đại lý
    • Văn bản là nền tảng của cách các tác nhân lưu giữ trạng thái của những gì chúng đã làm và những gì chúng cần làm; việc không có đủ thông tin về thế giới và mục tiêu của tác nhân là một giới hạn về độ tin cậy của tác nhân

Học nhiều lần theo bối cảnh là một trong những tính năng độc đáo nhất mà các mô hình bối cảnh dài mang lại. Nghiên cứu đã chỉ ra rằng việc lấy mô hình ví dụ "một lần chụp" hoặc "nhiều lần chụp" phổ biến, trong đó mô hình được trình bày bằng một hoặc một vài ví dụ về một nhiệm vụ và mở rộng quy mô lên hàng trăm, hàng nghìn hoặc thậm chí hàng trăm nghìn ví dụ, có thể dẫn đến các khả năng mô hình mới. Phương pháp nhiều lần chụp này cũng cho thấy hiệu suất tương tự như các mô hình được tinh chỉnh cho một nhiệm vụ cụ thể. Đối với các trường hợp sử dụng mà hiệu suất của mô hình Gemini chưa đủ để triển khai công khai, bạn có thể thử phương pháp nhiều lần chụp. Như bạn có thể khám phá sau trong phần tối ưu hoá ngữ cảnh dài, việc lưu ngữ cảnh vào bộ nhớ đệm giúp loại tải trọng mã thông báo đầu vào cao này trở nên khả thi hơn về mặt kinh tế và thậm chí giảm độ trễ trong một số trường hợp.

Video dài

Lợi ích của nội dung video từ lâu đã bị hạn chế do chính phương tiện này thiếu khả năng hỗ trợ tiếp cận. Rất khó để lướt qua nội dung, bản chép lời thường không nắm bắt được sắc thái của video và hầu hết các công cụ không xử lý hình ảnh, văn bản và âm thanh cùng lúc. Với Gemini, các tính năng văn bản theo ngữ cảnh dài sẽ chuyển thành khả năng lập luận và trả lời các câu hỏi về dữ liệu đầu vào đa phương thức với hiệu suất ổn định.

Sau đây là một số trường hợp sử dụng tiêu chuẩn và mới nổi cho ngữ cảnh video dài:

  • Hỏi đáp qua video
  • Bộ nhớ video, như minh hoạ trong Project Astra của Google
  • Tạo phụ đề cho video
  • Hệ thống đề xuất video, bằng cách làm phong phú siêu dữ liệu hiện có bằng khả năng hiểu biết mới về nhiều phương thức
  • Tuỳ chỉnh video bằng cách xem một tập hợp dữ liệu và siêu dữ liệu video liên quan, sau đó xoá những phần video không liên quan đến người xem
  • Kiểm duyệt nội dung video
  • Xử lý video theo thời gian thực

Khi xử lý video, bạn cần cân nhắc cách video được xử lý thành mã thông báo. Điều này ảnh hưởng đến các giới hạn về việc thanh toán và sử dụng. Bạn có thể tìm hiểu thêm về cách đưa ra lời nhắc bằng tệp video trong Hướng dẫn đưa ra lời nhắc.

Âm thanh dài

Mô hình Gemini là các mô hình ngôn ngữ lớn đa phương thức gốc đầu tiên có thể hiểu được âm thanh. Trước đây, quy trình làm việc thông thường của nhà phát triển sẽ liên quan đến việc nối nhiều mô hình dành riêng cho miền, chẳng hạn như mô hình lời nói sang văn bản và mô hình văn bản sang văn bản, để xử lý âm thanh. Điều này dẫn đến độ trễ bổ sung cần thiết khi thực hiện nhiều yêu cầu đi và về, đồng thời làm giảm hiệu suất thường được quy cho cấu trúc bị ngắt kết nối của chế độ thiết lập nhiều mô hình.

Sau đây là một số trường hợp sử dụng tiêu chuẩn và mới nổi cho ngữ cảnh âm thanh:

  • Dịch và chép lời theo thời gian thực
  • Hỏi đáp trong podcast / video
  • Bản chép lời và bản tóm tắt cuộc họp
  • Trợ lý thoại

Bạn có thể tìm hiểu thêm về cách đưa ra lời nhắc bằng tệp âm thanh trong Hướng dẫn đưa ra lời nhắc.

Tối ưu hoá ngữ cảnh dài

Phương pháp tối ưu hoá chính khi làm việc với ngữ cảnh dài và các mô hình Gemini là sử dụng tính năng lưu ngữ cảnh vào bộ nhớ đệm. Ngoài việc trước đây không thể xử lý nhiều mã thông báo trong một yêu cầu, thì chi phí cũng là một hạn chế chính khác. Nếu có ứng dụng "trò chuyện với dữ liệu của bạn", trong đó người dùng tải 10 tệp PDF, một video và một số tài liệu công việc lên, thì trước đây, bạn sẽ phải làm việc với một công cụ/khung tạo dữ liệu truy xuất tăng cường (RAG) phức tạp hơn để xử lý các yêu cầu này và trả một khoản tiền đáng kể cho các mã thông báo được chuyển vào cửa sổ ngữ cảnh. Giờ đây, bạn có thể lưu các tệp mà người dùng tải lên vào bộ nhớ đệm và trả phí để lưu trữ các tệp đó theo giờ. Ví dụ: chi phí đầu vào / đầu ra cho mỗi yêu cầu bằng Gemini Flash thấp hơn khoảng 4 lần so với chi phí đầu vào / đầu ra tiêu chuẩn. Vì vậy, nếu người dùng trò chuyện đủ dữ liệu, thì bạn (với tư cách là nhà phát triển) sẽ tiết kiệm được rất nhiều chi phí.

Giới hạn về ngữ cảnh dài

Trong nhiều phần của hướng dẫn này, chúng tôi đã thảo luận về cách các mô hình Gemini đạt được hiệu suất cao trên nhiều hoạt động đánh giá truy xuất kim trong bụi rơm. Các bài kiểm thử này xem xét chế độ thiết lập cơ bản nhất, trong đó bạn có một kim duy nhất mà bạn đang tìm kiếm. Trong trường hợp bạn có nhiều "kim" hoặc thông tin cụ thể mà bạn đang tìm kiếm, mô hình sẽ không hoạt động với cùng độ chính xác. Hiệu suất có thể thay đổi đáng kể tuỳ thuộc vào ngữ cảnh. Bạn cần cân nhắc điều này vì có sự đánh đổi cố hữu giữa việc truy xuất thông tin chính xác và chi phí. Bạn có thể nhận được khoảng 99% trên một truy vấn, nhưng bạn phải trả phí mã thông báo đầu vào mỗi khi gửi truy vấn đó. Vì vậy, để truy xuất 100 phần thông tin, nếu cần hiệu suất 99%, bạn có thể cần gửi 100 yêu cầu. Đây là một ví dụ điển hình về việc lưu vào bộ nhớ đệm ngữ cảnh có thể làm giảm đáng kể chi phí liên quan đến việc sử dụng các mô hình Gemini trong khi vẫn duy trì hiệu suất cao.

Câu hỏi thường gặp

Tôi nên đặt truy vấn của mình ở đâu trong cửa sổ ngữ cảnh?

Trong hầu hết các trường hợp, đặc biệt là nếu tổng ngữ cảnh dài, hiệu suất của mô hình sẽ tốt hơn nếu bạn đặt truy vấn / câu hỏi ở cuối lời nhắc (sau tất cả ngữ cảnh khác).

Hiệu suất của mô hình có bị giảm khi tôi thêm mã thông báo vào truy vấn không?

Nhìn chung, nếu bạn không cần truyền mã thông báo đến mô hình, tốt nhất bạn nên tránh truyền các mã thông báo đó. Tuy nhiên, nếu bạn có một lượng lớn mã thông báo chứa một số thông tin và muốn đặt câu hỏi về thông tin đó, thì mô hình này có khả năng trích xuất thông tin đó (độ chính xác lên đến 99% trong nhiều trường hợp).

Làm cách nào để giảm chi phí bằng các cụm từ tìm kiếm theo ngữ cảnh dài?

Nếu bạn có một tập hợp mã thông báo / ngữ cảnh tương tự mà bạn muốn sử dụng lại nhiều lần, thì tính năng lưu ngữ cảnh vào bộ nhớ đệm có thể giúp giảm chi phí liên quan đến việc đặt câu hỏi về thông tin đó.

Độ dài ngữ cảnh có ảnh hưởng đến độ trễ của mô hình không?

Có một số độ trễ cố định trong bất kỳ yêu cầu cụ thể nào, bất kể kích thước, nhưng thường thì các truy vấn dài hơn sẽ có độ trễ cao hơn (thời gian đến mã thông báo đầu tiên).