Các từ mà chúng ta sử dụng trong việc tạo prompt được gọi là tokens. Mỗi token có sức mạnh riêng của nó, phụ thuộc vào tần suất xuất hiện trong tập dữ liệu được sử dụng để đào tạo AI. Chúng ta sẽ đi vào chi tiết kỹ thuật sau, nhưng trước tiên hãy tập trung vào cách suy nghĩ về tokens một cách thực tiễn.
Hãy xem một ví dụ: Tôi tạo prompt “1girl wearing white oversized coat with >< and outstretched arms”. Nếu mỗi từ là một token, chúng ta có 11 tokens.
(Khi nhập prompt này vào BetterWaifu, bạn sẽ thấy bộ đếm token hiển thị 13. Điều này là do các token <start> và <end> được thêm vào bởi AI. Sẽ có thêm thông tin về điều này trong phần tiếp theo.)
Các giới từ như “with”, “for”, “at”, “in” và các hạt như “and”, “a”, “to” cũng được tính là tokens. Do đó, chúng cũng có sức mạnh và ảnh hưởng đến hình ảnh.
Hãy thử cùng một prompt mà không có hạt hoặc giới từ: “1girl, white oversized coat, ><, outstretched arms”. Dấu phẩy cũng được tính là tokens, vì vậy chúng ta vẫn có 11 tokens, 13 với các token bắt đầu và kết thúc. Kết quả khá khác biệt:
Tôi thích kết quả này hơn vì nó có vẻ như đã chú ý nhiều hơn đến chiếc áo khoác. Token dấu phẩy được sử dụng để phân định giữa các khái niệm khác nhau.
Bây giờ, trong khi việc sử dụng các thẻ phân cách bằng dấu phẩy là cách tiếp cận tôi khuyên dùng để tạo prompt trên BetterWaifu, điều đó không có nghĩa là việc loại bỏ tất cả các giới từ và hạt luôn làm cho kết quả tốt hơn. Đôi khi, việc sử dụng giới từ là quan trọng để chỉ ra vị trí tương đối.
Dưới đây là một ví dụ đơn giản về khi một giới từ tạo ra sự khác biệt:
1girl, airplane, white oversized coat, ><, outstretched arms1girl inside airplane, white oversized coat, ><, outstretched arms
Ngoài sức mạnh vốn có của một token, vị trí của nó trong prompt cũng được tính trọng số. Các token ở đầu có trọng số lớn hơn so với các token ở cuối. Điều quan trọng là phải hiểu điều này, vì một token yếu ở cuối prompt có thể không có ảnh hưởng đến hình ảnh. Ngược lại, một token mạnh ở đầu có thể hoàn toàn xác định kết quả.
Để kiểm soát sức mạnh của một token, bạn có thể sử dụng cấu trúc (token:1.0), trong đó số đại diện cho sức mạnh của token. 0 - không có ảnh hưởng, 1 - trọng số bình thường. Tôi thường không vượt quá 1.5. Thử nghiệm với các giá trị sức mạnh khác nhau có thể giúp bạn điều chỉnh mức độ kiểm soát mong muốn đối với các tokens trong các prompt của bạn.
Giải Thích Kỹ Thuật
Token hóa là một cách phổ biến để xử lý dữ liệu văn bản trong việc tạo AI. Chúng tôi sử dụng nó để chuyển đổi văn bản thành số và xử lý chúng bằng các mạng nơ-ron.
Stable Diffusion token hóa một prompt văn bản thành một chuỗi các tokens. Ví dụ, nó phân tách prompt văn bản một chú thỏ dễ thương và đáng yêu thành các tokens a, cute, and, adorable, và bunny. Sau đó, Stable Diffusion thêm <start> và <end> tokens ở đầu và cuối của các tokens.
Chuỗi token kết quả cho ví dụ trên sẽ là <start>, a, cute, and, adorable, bunny, và <end> (7 tokens).
Để dễ dàng tính toán, Stable Diffusion giữ cho các chuỗi token của bất kỳ prompt văn bản nào có cùng độ dài là 77 bằng cách thêm hoặc cắt bớt. Nếu prompt đầu vào có ít hơn 77 tokens, các token <end> sẽ được thêm vào cuối chuỗi cho đến khi đạt 77 tokens.
Độ dài 77 được đặt ra để cân bằng hiệu suất và hiệu quả tính toán. Phần mềm khác nhau sẽ có hành vi khác nhau nếu sử dụng hơn 77 tokens:
77 tokens đầu tiên được giữ lại và phần còn lại bị cắt bỏ.
Tất cả prompt được chia thành các khối 75, các token bắt đầu và kết thúc được thêm vào, và mỗi khối được xử lý theo thứ tự. Đây là phương pháp mà BetterWaifu sử dụng.