GIỚI HẠN CỦA PROMPT

Như mọi người cũng biết khi bắt đầu mỗi prompt sẽ giới hạn 75 tokens, sau đó nếu vượt qua giới hạn thì giới hạn đó lại được nâng lên, nghe có vẻ như là vô nghĩa vãi:)))

Thật ra bản chất Stable Diffusion chỉ có giới hạn 75 tokens = 1 chunk, tức là cái gì viết sau giới hạn đều bị bỏ qua. tuy nhiên cộng đồng nhanh chóng tìm cách vượt qua giới hạn nhờ open source. tuy nhiên có 2 vấn đề

  1. prompt không chia theo cách chúng ta muốn

lấy 1 ví dụ “a man eating flowers”. giả sử dòng này hết 100 tokens, mỗi chữ 25 tokens, thì chunk đầu là"a man eating", chunk sau là “flowers”, và nguy cơ là có 1 ng đàn ông đang ăn với lọ hoa bên cạnh trong bức ảnh dc gen ra.

cách giải quyết là thêm BREAK. BREAK sẽ dừng chunk lại và bắt đầu chunk mới. “a man BREAK eating flowers” ta sẽ có “a man” chunk và “eating flowers” chunk. bức ảnh thứ tạo ra sẽ đúng ý tưởng hơn

  1. prompt càng dài gọi ra càng khó

nếu các bạn viết prompt càng dài, các từ phía cuối (nếu không tăng weight sẽ rất khó gọi ra), hoặc ra không đầy đủ, không như ý muốn.

cách giải quyết là thêm BREAK

ví dụ

without BREAK: a photo of a woman, in front of an orange wall, red dress, green hair, blue eyes

Từ khóa “orange” đứng trước và mạnh hơn “red” ở đằng sau, nên SD tạo ra chiếc váy màu vàng thay vì tường màu vàng và váy màu đỏ.

with BREAK: a photo of a woman, in front of an orange wall,BREAK red dress, BREAK green hair, BREAK blue eyes

Kết quả khá hơn rất nhiều

để control tốt hơn vẫn cần có extention như regional prompter hay controlnet. Tuy nhiên bài viết chỉ thuần túy nói đến cách các bạn prompt engineering.

1 Lượt thích