Cải Thiện Các promt  Cho Stable Diffusion Bằng Cách Sử Dụng Retrieval Augmented Generation

Sinh ảnh từ văn bản là một lĩnh vực đang phát triển nhanh chóng trong trí tuệ nhân tạo với các ứng dụng trong nhiều lĩnh vực như truyền thông và giải trí, trò chơi, hình ảnh hóa sản phẩm thương mại điện tử, quảng cáo và tiếp thị, thiết kế kiến trúc và hình ảnh hóa, tạo tác nghệ thuật, và hình ảnh y tế.

Stable Diffusion là một mô hình sinh ảnh từ văn bản giúp bạn tạo ra hình ảnh chất lượng cao trong vài giây. Vào tháng 11 năm 2022, chúng tôi thông báo rằng khách hàng của AWS có thể tạo hình ảnh từ văn bản với các mô hình Stable Diffusion trong Amazon SageMaker JumpStart, một trung tâm học máy (ML) cung cấp các mô hình, thuật toán và giải pháp. Sự phát triển tiếp tục vào tháng 4 năm 2023 với sự ra mắt của Amazon Bedrock, một dịch vụ quản lý hoàn toàn cung cấp quyền truy cập vào các mô hình nền tảng tiên tiến, bao gồm Stable Diffusion, thông qua một API tiện lợi.

Khi ngày càng nhiều khách hàng bắt đầu với nỗ lực sinh ảnh từ văn bản, một vấn đề thường gặp phải là làm thế nào để tạo ra những lời nhắc mạnh mẽ có khả năng tạo ra hình ảnh chất lượng cao, hướng mục đích. Thách thức này thường đòi hỏi rất nhiều thời gian và nguồn lực khi người dùng bắt đầu một hành trình lặp đi lặp lại của thử nghiệm để khám phá ra những lời nhắc phù hợp với tầm nhìn của họ.

Retrieval Augmented Generation (RAG) là quá trình mà trong đó một mô hình ngôn ngữ truy xuất các tài liệu ngữ cảnh từ một nguồn dữ liệu bên ngoài và sử dụng thông tin này để tạo ra văn bản chính xác và thông tin hơn. Kỹ thuật này đặc biệt hữu ích cho các nhiệm vụ xử lý ngôn ngữ tự nhiên (NLP) cần kiến thức. Bây giờ, chúng tôi mở rộng tác động biến đổi của nó đến thế giới của sinh ảnh từ văn bản. Trong bài viết này, chúng tôi sẽ trình bày cách tận dụng sức mạnh của RAG để nâng cao các lời nhắc gửi đến các mô hình Stable Diffusion của bạn. Bạn có thể tạo trợ lý AI của riêng mình cho việc tạo lời nhắc trong vài phút với các mô hình ngôn ngữ lớn (LLMs) trên Amazon Bedrock, cũng như trên SageMaker JumpStart.

Tiếp cận để tạo lời nhắc từ văn bản sang hình ảnh

Tạo một lời nhắc cho mô hình từ văn bản sang hình ảnh có vẻ đơn giản khi nhìn thoáng qua, nhưng thực sự đó là một nhiệm vụ phức tạp đầy trái ngược. Việc này không chỉ đơn thuần là gõ vài từ và mong đợi mô hình tạo ra một hình ảnh phù hợp với hình dung trong đầu bạn. Lời nhắc hiệu quả cần cung cấp hướng dẫn rõ ràng nhưng vẫn giữ chỗ cho sự sáng tạo. Chúng phải cân bằng giữa độ cụ thể và mơ hồ, và cần được cá nhân hóa cho từng mô hình đang sử dụng. Để giải quyết thách thức trong kỹ thuật tạo lời nhắc, ngành công nghiệp đã khám phá các phương pháp tiếp cận khác nhau:

Thư viện lời nhắc – Một số công ty tạo ra thư viện các lời nhắc đã được viết trước mà bạn có thể truy cập và tùy chỉnh. Những thư viện này chứa đầy đủ các loại lời nhắc phù hợp với nhiều trường hợp sử dụng, cho phép bạn chọn hoặc điều chỉnh lời nhắc phù hợp với nhu cầu cụ thể của mình.

Mẫu lời nhắc và hướng dẫn – Nhiều công ty và tổ chức cung cấp cho người dùng một bộ mẫu lời nhắc và hướng dẫn được định nghĩa trước. Những mẫu này cung cấp các định dạng có cấu trúc để viết lời nhắc, giúp việc tạo ra hướng dẫn hiệu quả trở nên đơn giản hơn.

Đóng góp từ cộng đồng và người dùng – Các nền tảng cộng đồng và cộng đồng người dùng thường đóng vai trò quan trọng trong việc cải thiện lời nhắc. Người dùng có thể chia sẻ mô hình đã được tinh chỉnh, lời nhắc thành công, mẹo và phương pháp hay nhất với cộng đồng, giúp người khác học hỏi và tinh chỉnh kỹ năng viết lời nhắc của họ.

Tinh chỉnh mô hình – Các công ty có thể tinh chỉnh mô hình từ văn bản sang hình ảnh của họ để hiểu và phản hồi tốt hơn với các loại lời nhắc cụ thể. Việc tinh chỉnh có thể cải thiện hiệu suất mô hình cho các lĩnh vực hoặc trường hợp sử dụng cụ thể.

Những phương pháp tiếp cận trong ngành này cùng nhau nhằm mục đích làm cho quy trình tạo lời nhắc từ văn bản sang hình ảnh hiệu quả trở nên dễ tiếp cận, thân thiện với người dùng và hiệu quả hơn, cuối cùng nâng cao khả năng sử dụng và đa dạng của các mô hình tạo hình ảnh từ văn bản cho một loạt các ứng dụng.

Dùng RAG để thiết kế câu hỏi gợi ý

Trong phần này, chúng ta sẽ tìm hiểu về cách thức mà kỹ thuật RAG có thể trở thành một yếu tố đổi mới trong lĩnh vực kỹ thuật tạo câu hỏi gợi ý, hoạt động hài hòa với những phương pháp hiện tại. Bằng việc tích hợp mượt mà RAG vào quy trình, chúng ta có thể tối ưu hóa và nâng cao hiệu quả của việc thiết kế câu hỏi gợi ý.

Tìm kiếm ngữ nghĩa trong cơ sở dữ liệu câu hỏi gợi ý

Hãy tưởng tượng một công ty đã tích lũy được một kho tàng lớn các câu hỏi gợi ý trong thư viện của mình hoặc đã tạo ra số lượng lớn các mẫu câu hỏi gợi ý, mỗi mẫu được thiết kế cho các trường hợp sử dụng và mục tiêu cụ thể. Truyền thống, người dùng tìm kiếm cảm hứng cho câu hỏi gợi ý từ văn bản sang hình ảnh của họ thường phải duyệt qua những thư viện này một cách thủ công, thường xuyên phải lọc qua danh sách lựa chọn dài. Quá trình này có thể mất thời gian và không hiệu quả. Bằng cách nhúng các câu hỏi gợi ý từ thư viện sử dụng mô hình nhúng văn bản, các công ty có thể xây dựng một công cụ tìm kiếm ngữ nghĩa. Dưới đây là cách thức hoạt động:

Nhúng câu hỏi gợi ý – Công ty sử dụng nhúng văn bản để chuyển đổi mỗi câu hỏi gợi ý trong thư viện của mình thành một biểu diễn số. Những nhúng này nắm bắt ý nghĩa ngữ nghĩa và bối cảnh của các câu hỏi gợi ý.

Truy vấn của người dùng – Khi người dùng cung cấp câu hỏi gợi ý của riêng họ hoặc mô tả hình ảnh mong muốn, hệ thống cũng có thể phân tích và nhúng đầu vào của họ.

Tìm kiếm ngữ nghĩa – Sử dụng các nhúng, hệ thống thực hiện tìm kiếm ngữ nghĩa. Nó truy xuất các câu hỏi gợi ý phù hợp nhất từ thư viện dựa trên truy vấn của người dùng, xem xét cả đầu vào của người dùng và dữ liệu lịch sử trong thư viện câu hỏi gợi ý.

Bằng cách triển khai tìm kiếm ngữ nghĩa trong thư viện câu hỏi gợi ý của mình, các công ty trao quyền cho nhân viên của mình để dễ dàng truy cập vào một nguồn tài nguyên câu hỏi gợi ý rộng lớn. Phương pháp này không chỉ tăng tốc quá trình tạo ra câu hỏi gợi ý mà còn khuyến khích sự sáng tạo và nhất quán trong việc tạo ra hình ảnh từ văn bản.

Tạo Ngữ Cảnh từ Tìm Kiếm Ngữ Nghĩa

Dù tìm kiếm ngữ nghĩa làm đơn giản hóa quá trình tìm kiếm ngữ cảnh phù hợp, RAG lại đi xa hơn bằng cách sử dụng kết quả tìm kiếm này để tạo ra các ngữ cảnh tối ưu. Dưới đây là cách thức hoạt động của nó:

Kết quả tìm kiếm ngữ nghĩa – Sau khi thu thập các ngữ cảnh phù hợp nhất từ thư viện, hệ thống sẽ trình bày những ngữ cảnh này cho người dùng, cùng với đầu vào gốc của họ.

Mô hình sinh văn bản – Người dùng có thể chọn một ngữ cảnh từ kết quả tìm kiếm hoặc cung cấp thêm bối cảnh về sở thích của họ. Hệ thống sau đó sẽ đưa cả ngữ cảnh được chọn lẫn đầu vào của người dùng vào một LLM (Mô hình Ngôn Ngữ Lớn).

Ngữ cảnh tối ưu – LLM, với sự hiểu biết sâu sắc về các nước cắt ngôn ngữ, sẽ tạo ra một ngữ cảnh tối ưu kết hợp các yếu tố từ ngữ cảnh được chọn và đầu vào của người dùng. Ngữ cảnh mới này được điều chỉnh theo yêu cầu của người dùng và được thiết kế để tạo ra kết quả hình ảnh mong muốn.

Sự kết hợp giữa tìm kiếm ngữ nghĩa và tạo ngữ cảnh không chỉ đơn giản hóa quá trình tìm kiếm ngữ cảnh mà còn đảm bảo rằng các ngữ cảnh được tạo ra có tính liên quan và hiệu quả cao. Điều này giúp bạn tinh chỉnh và tùy chỉnh các ngữ cảnh của mình, cuối cùng dẫn đến việc cải thiện kết quả tạo hình ảnh từ văn bản. Dưới đây là một số ví dụ về hình ảnh được tạo ra từ Stable Diffusion XL sử dụng các ngữ cảnh từ tìm kiếm ngữ nghĩa và tạo ngữ cảnh.

Original PromptPrompts from Semantic SearchOptimized Prompt by LLM
a cartoon of a little dogcute cartoon of a dog having a sandwich at the dinner tablea cartoon illustration of a punk dog, anime style, white backgrounda cartoon of a boy and his dog walking down a forest laneA cartoon scene of a boy happily walking hand in hand down a forest lane with his cute pet dog, in animation style.

Ứng dụng thiết kế gợi ý dựa trên RAG trong nhiều ngành công nghiệp khác nhau

Trước khi chúng ta khám phá ứng dụng của kiến trúc RAG đề xuất của chúng tôi, hãy bắt đầu với một ngành công nghiệp mà mô hình tạo hình ảnh phù hợp nhất. Trong ngành Quảng cáo, tốc độ và sự sáng tạo là yếu tố then chốt. Việc tạo gợi ý dựa trên RAG có thể thêm giá trị tức thì bằng cách tạo ra nhanh chóng nhiều gợi ý để tạo hình ảnh cho một chiến dịch quảng cáo. Những người ra quyết định có thể xem qua các hình ảnh tự động tạo để chọn hình ảnh ứng cử viên cho chiến dịch. Tính năng này có thể là một ứng dụng độc lập hoặc được tích hợp vào các công cụ phần mềm và nền tảng phổ biến hiện có.

Một ngành công nghiệp khác nơi mà mô hình Stable Diffusion có thể nâng cao năng suất là truyền thông và giải trí. Kiến trúc RAG có thể hỗ trợ trong các trường hợp sử dụng như tạo avatar, chẳng hạn. Bắt đầu từ một gợi ý đơn giản, RAG có thể thêm nhiều màu sắc và đặc điểm vào ý tưởng avatar. Nó có thể tạo ra nhiều gợi ý ứng viên và cung cấp nhiều ý tưởng sáng tạo hơn. Từ những hình ảnh được tạo ra, bạn có thể tìm ra lựa chọn hoàn hảo cho ứng dụng cụ thể. Nó tăng năng suất bằng cách tự động tạo ra nhiều gợi ý. Sự đa dạng mà nó có thể tạo ra là lợi ích trực tiếp của giải pháp.

Tổng quan về giải pháp

Khả năng tạo ra trợ lý AI dựa trên RAG của riêng mình cho thiết kế gợi ý trên AWS là minh chứng cho tính linh hoạt của công nghệ hiện đại. AWS cung cấp một loạt các lựa chọn và dịch vụ để hỗ trợ công việc này. Sơ đồ kiến trúc tham khảo sau đây minh họa một ứng dụng RAG cho thiết kế gợi ý trên AWS.

Khi chọn LLM (Large Language Models – Mô hình Ngôn ngữ Lớn) phù hợp cho trợ lý AI của bạn, AWS cung cấp một loạt các lựa chọn để đáp ứng nhu cầu cụ thể của bạn.

Đầu tiên, bạn có thể lựa chọn LLM thông qua SageMaker JumpStart, sử dụng các thể hiện riêng biệt. Các thể hiện này hỗ trợ nhiều mô hình khác nhau, bao gồm Falcon, Llama 2, Bloom Z và Flan-T5, hoặc bạn có thể khám phá các mô hình độc quyền như Command và Multilingual Embedding của Cohere, hoặc Jurassic-2 từ AI21 Labs.

Nếu bạn ưa thích cách tiếp cận đơn giản hơn, AWS cung cấp LLM trên Amazon Bedrock, với các mô hình như Amazon Titan và Anthropic Claude. Các mô hình này dễ dàng truy cập thông qua các cuộc gọi API đơn giản, cho phép bạn dễ dàng khai thác sức mạnh của chúng. Sự linh hoạt và đa dạng của các lựa chọn đảm bảo rằng bạn có tự do lựa chọn LLM phù hợp nhất với mục tiêu thiết kế kịch bản của mình, dù bạn đang tìm kiếm sự đổi mới với các container mở hoặc khả năng mạnh mẽ của các mô hình độc quyền.

Khi xây dựng cơ sở dữ liệu vector cần thiết, AWS cung cấp nhiều lựa chọn thông qua các dịch vụ bản địa của họ. Bạn có thể chọn Amazon OpenSearch Service, Amazon Aurora, hoặc Amazon Relational Database Service (Amazon RDS) cho PostgreSQL, mỗi dịch vụ đều cung cấp các tính năng mạnh mẽ phù hợp với nhu cầu cụ thể của bạn. Hoặc, bạn có thể khám phá các sản phẩm từ các đối tác AWS như Pinecone, Weaviate, Elastic, Milvus, hoặc Chroma, cung cấp các giải pháp chuyên biệt cho việc lưu trữ và truy xuất vector hiệu quả.

Để giúp bạn bắt đầu xây dựng trợ lý AI dựa trên RAG cho thiết kế kịch bản, chúng tôi đã tổng hợp một bản trình diễn toàn diện trong kho lưu trữ GitHub của chúng tôi. Bản trình diễn này sử dụng các nguồn lực sau:

  • Sinh hình ảnh: Stable Diffusion XL trên Amazon Bedrock
  • Mã hóa văn bản: Amazon Titan trên Amazon Bedrock
  • Sinh văn bản: Claude 2 trên Amazon Bedrock
  • Cơ sở dữ liệu vector: FAISS, một thư viện mã nguồn mở cho tìm kiếm tương đồng hiệu quả
  • Thư viện kịch bản: Các ví dụ kịch bản từ DiffusionDB, bộ dữ liệu gallery kịch bản lớn đầu tiên cho các mô hình sinh hình ảnh từ văn bản

Ngoài ra, chúng tôi đã tích hợp LangChain cho việc triển khai LLM và Streamit cho thành phần ứng dụng web, mang đến trải nghiệm liền mạch và thân thiện với người dùng.

Yêu Cầu Cơ Bản

Để chạy ứng dụng demo này, bạn cần phải có:

  • Tài khoản AWS
  • Hiểu biết cơ bản về cách sử dụng Amazon SageMaker Studio
  • Hiểu biết cơ bản về cách tải xuống một kho lưu trữ từ GitHub
  • Kiến thức cơ bản về việc chạy lệnh trên terminal

Chạy Ứng Dụng Demo

Bạn có thể tải xuống toàn bộ mã nguồn cần thiết kèm theo hướng dẫn từ kho lưu trữ GitHub: https://github.com/aws-samples/stable-diffusion-prompt-rag. Sau khi ứng dụng được triển khai, bạn sẽ thấy một trang giống như ảnh chụp màn hình dưới đây.

Khám Phá Quy Trình Thực Hiện RAG và Thiết Kế Lời Nhắc trên AWS

Trong buổi trình diễn này, chúng tôi hướng đến mục tiêu làm cho quy trình triển khai trở nên dễ tiếp cận và dễ hiểu, cung cấp cho bạn trải nghiệm thực tế để bắt đầu hành trình khám phá thế giới của RAG và thiết kế lời nhắc trên AWS.

Dọn Dẹp

Sau khi bạn thử nghiệm ứng dụng, hãy dọn dẹp các tài nguyên của mình bằng cách dừng ứng dụng.

Kết Luận

RAG đã nổi lên như một mô hình đột phá trong thế giới thiết kế lời nhắc, làm mới lại khả năng chuyển đổi từ văn bản sang hình ảnh của Stable Diffusion. Bằng cách kết hợp các kỹ thuật RAG với các phương pháp hiện có và sử dụng nguồn lực mạnh mẽ của AWS, chúng tôi đã tìm ra một lộ trình để sáng tạo một cách thông suốt và tăng tốc quá trình học hỏi.

Leave a comment