Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Token

Tìm hiểu cách các token, các khối xây dựng của mô hình AI, cung cấp năng lượng cho NLP, thị giác máy tính và các tác vụ như phân tích tình cảm và nhận diện đối tượng.

Trong bối cảnh trí tuệ nhân tạo , token đóng vai trò là đơn vị thông tin cơ bản, nguyên tử mà mô hình học máy xử lý. Trước khi mạng nơ-ron có thể phân tích một câu, một đoạn mã, hay thậm chí là một hình ảnh, dữ liệu thô phải được phân đoạn thành những phần rời rạc, dễ quản lý này thông qua một bước quan trọng trong quá trình tiền xử lý dữ liệu . Trong khi con người coi ngôn ngữ là một dòng chữ hay hình ảnh là một cảnh liên tục, thì các thuật toán yêu cầu những dữ liệu đầu vào này phải được chia nhỏ thành các thành phần chuẩn hóa để thực hiện các phép tính một cách hiệu quả.

Token so với Tokenization

Để hiểu cách thức hoạt động của các hệ thống học sâu hiện đại, điều cần thiết là phải phân biệt giữa đơn vị dữ liệu và quy trình tạo ra nó. Sự khác biệt này thường được làm rõ bằng cách so sánh "cái gì" với "như thế nào".

  • Token: Đây là đầu ra—khối dữ liệu thực tế được đưa vào mô hình. Trong xử lý văn bản, một token có thể đại diện cho toàn bộ một từ, một phần của từ (từ phụ) hoặc một ký tự đơn lẻ. Trong thị giác máy tính , nó thường đại diện cho một mảng pixel cụ thể.
  • Phân tách mã thông báo : Đây là quá trình thuật toán phân tách dữ liệu thô thành các mã thông báo. Ví dụ: các công cụ chuyên dụng trong thư viện như spaCy hoặc NLTK xử lý các quy tắc xác định vị trí kết thúc của một mã thông báo và bắt đầu mã thông báo tiếp theo.

Vai trò của Token trong Kiến trúc AI

Sau khi dữ liệu được mã hóa, các mã thông báo kết quả không được sử dụng trực tiếp dưới dạng chuỗi văn bản hoặc hình ảnh. Thay vào đó, chúng được ánh xạ thành các vectơ số được gọi là nhúng . Các vectơ đa chiều này nắm bắt ý nghĩa ngữ nghĩa và mối quan hệ giữa các mã thông báo, cho phép các nền tảng như PyTorch thực hiện các phép toán trên chúng.

Mã thông báo văn bản trong NLP

Trong Xử lý Ngôn ngữ Tự nhiên (NLP) , mã thông báo là đầu vào cho các Mô hình Ngôn ngữ Lớn (LLM) như chuỗi GPT . Các mô hình hiện đại thường sử dụng các thuật toán mã hóa từ phụ, chẳng hạn như Mã hóa Cặp Byte (BPE) . Phương pháp này cân bằng hiệu quả và kích thước từ vựng bằng cách giữ các từ phổ biến dưới dạng mã thông báo đơn lẻ trong khi chia các từ hiếm thành các âm tiết có nghĩa.

Mã thông báo trực quan trong thị giác máy tính

Khái niệm token đã cách mạng hóa việc phân tích hình ảnh thông qua các kiến trúc như Vision Transformer (ViT) . Thay vì xử lý pixel thông qua tích chập, các mô hình này chia hình ảnh thành một lưới các mảng có kích thước cố định (ví dụ: 16x16 pixel). Mỗi mảng được làm phẳng và được coi là một "token trực quan", cho phép sử dụng các cơ chế Transformer mạnh mẽ như tự chú ý để hiểu bối cảnh tổng thể trong một hình ảnh.

Các Ứng dụng Thực tế

Token là nền tảng cho một số khả năng tiên tiến nhất của AI hiện nay.

  1. Phát hiện Đối tượng Từ vựng Mở: Các mô hình như YOLO -World sử dụng phương pháp tiếp cận đa phương thức, trong đó các token văn bản và hình ảnh tương tác với nhau. Người dùng có thể định nghĩa các lớp tùy chỉnh (ví dụ: "ba lô xanh") dưới dạng lời nhắc văn bản. Mô hình sẽ mã hóa các lời nhắc này và so sánh chúng với các token trực quan trong hình ảnh để thực hiện phát hiện học tập không cần đào tạo lại.
  2. Trí tuệ nhân tạo (AI) và Chatbot: Khi tương tác với chatbot , hệ thống sử dụng công nghệ tạo văn bản để dự đoán mã thông báo tiếp theo có khả năng xảy ra nhất trong một chuỗi. Việc dự đoán từng mã thông báo này cho phép tạo ra các phản hồi mạch lạc và phù hợp với ngữ cảnh, thúc đẩy các ứng dụng từ hỗ trợ khách hàng đến hoàn thiện mã.

Ví dụ: Sử dụng mã thông báo văn bản để phát hiện

Ví dụ sau đây minh họa cách ultralytics Gói này tận dụng các mã thông báo ẩn. Bằng cách cung cấp danh sách các lớp văn bản, mô hình sẽ mã hóa các đầu vào này để xác định các đối tượng cụ thể trong hình ảnh một cách động.

from ultralytics import YOLO

# Load a YOLO-World model capable of understanding text tokens
model = YOLO("yolo11s-world.pt")

# Define custom classes (these are tokenized internally)
model.set_classes(["helmet", "vest"])

# Run prediction; the model matches visual features to the text tokens
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Show results
results[0].show()

Hiểu về mã thông báo là điều cốt yếu để nắm bắt cách các mô hình nền tảng thu hẹp khoảng cách giữa dữ liệu phi cấu trúc của con người và hiểu biết về máy tính, cho dù là để phân loại hình ảnh hay các tác vụ ngôn ngữ phức tạp.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay