Courses
Hợp tác với một số nhà nghiên cứu học thuật và tổ chức phi lợi nhuận, Stability AI, một startup thành lập năm 2019, đã phát triển mô hình Stable Diffusion và phát hành lần đầu vào năm 2022.
Stable Diffusion là một mô hình học sâu mã nguồn mở được thiết kế để tạo ra hình ảnh chất lượng cao, chi tiết từ mô tả văn bản. Nó cũng có thể chỉnh sửa hình ảnh hiện có hoặc nâng cấp ảnh độ phân giải thấp bằng đầu vào văn bản. Mô hình không ngừng phát triển, với những cải tiến gần đây giúp nâng cao hiệu năng và khả năng.
Trong bài viết này, chúng ta sẽ tìm hiểu Stable Diffusion hoạt động như thế nào và điểm qua các cách để chạy nó.
Stable Diffusion là gì?
Stable Diffusion là một mô hình học sâu tiên tiến, mã nguồn mở do Stability AI phát triển. Ra mắt vào năm 2022, mô hình này xuất sắc trong việc tạo hình ảnh chất lượng cao, chi tiết từ mô tả bằng văn bản. Đây là một mô hình linh hoạt có thể chỉnh sửa hình ảnh hiện có hoặc nâng cấp ảnh độ phân giải thấp bằng đầu vào văn bản.
Ban đầu được huấn luyện trên một tập dữ liệu khổng lồ gồm 2,3 tỷ hình ảnh, Stable Diffusion tận dụng các nguyên lý của mô hình sinh và quá trình khuếch tán. Nhờ đó, nó có thể tạo ra hình ảnh mới, chân thực bằng cách học các mẫu và cấu trúc từ dữ liệu huấn luyện. Khả năng của nó sánh ngang với các mô hình hiện đại khác, khiến nó trở thành công cụ mạnh mẽ cho nhiều ứng dụng tạo và chỉnh sửa hình ảnh.
Vào tháng 2/2024, Stability AI công bố Stable Diffusion 3 ở giai đoạn xem trước sớm, cho thấy hiệu năng được cải thiện đáng kể, đặc biệt trong việc xử lý prompt nhiều chủ thể, chất lượng hình ảnh và chính tả. Bộ Stable Diffusion 3 có quy mô từ 800 triệu đến 8 tỷ tham số, nhấn mạnh khả năng mở rộng và chất lượng để đáp ứng nhiều nhu cầu sáng tạo. Đến tháng 6/2024, bản phát hành Stable Diffusion 3 Medium với 2 tỷ tham số đánh dấu một bước tiến lớn, mang lại chi tiết, màu sắc và tính chân thực xuất sắc, đồng thời chạy hiệu quả trên GPU phổ thông.
Stable Diffusion 3 tích hợp kiến trúc đa phương thức mới mang tên Multimodal Diffusion Transformer (MMDiT), sử dụng các bộ trọng số riêng cho biểu diễn hình ảnh và ngôn ngữ. Đổi mới này nâng cao khả năng hiểu văn bản và chính tả so với các phiên bản trước. Dựa trên đánh giá ưu tiên của con người, Stable Diffusion 3 vượt trội các hệ thống tạo ảnh từ văn bản hàng đầu khác như DALL·E 3, Midjourney v6 và Ideogram v1 về kiểu chữ và tuân thủ prompt.
Stability AI đã công bố một bài báo nghiên cứu toàn diện trình bày công nghệ nền tảng của Stable Diffusion 3, làm nổi bật các cải tiến và hiệu năng vượt trội. Những nâng cấp này khiến Stable Diffusion 3 trở thành công cụ mạnh mẽ để tạo hình ảnh chất lượng cao từ mô tả văn bản, với cải thiện đáng kể trong xử lý prompt phức tạp và tạo đầu ra chân thực.
Stable Diffusion hoạt động như thế nào?
Stable Diffusion là ví dụ tinh vi của nhóm mô hình học sâu gọi là mô hình khuếch tán. Cụ thể hơn, nó thuộc nhóm mô hình sinh. Các mô hình này được thiết kế để tạo dữ liệu mới tương tự dữ liệu đã được huấn luyện, cho phép tạo ra đầu ra mới, chân thực dựa trên các mẫu và cấu trúc đã học.
Các mô hình khuếch tán lấy cảm hứng từ khái niệm khuếch tán trong vật lý, khi các hạt lan từ vùng nồng độ cao sang thấp theo thời gian. Trong học sâu, mô hình khuếch tán mô phỏng quá trình này trong không gian dữ liệu có nhiều chiều. Mô hình bắt đầu từ nhiễu ngẫu nhiên và tinh chỉnh dần qua nhiều bước để tạo ra hình ảnh mạch lạc và chất lượng cao.
Mô hình sinh, một dạng học không giám sát, liên quan đến việc huấn luyện mô hình tự động khám phá và học các mẫu trong dữ liệu đầu vào. Sau khi được huấn luyện, các mô hình này có thể tạo ví dụ mới giống với dữ liệu gốc. Khả năng này đặc biệt hữu ích cho các tác vụ như tổng hợp hình ảnh, tăng cường dữ liệu và hơn thế nữa.
Nếu bạn muốn tìm hiểu thêm về các mô hình này, hãy cân nhắc theo dõi lộ trình khóa học Deep Learning bằng Python của chúng tôi.
Quy trình khuếch tán
Quy trình khuếch tán trong Stable Diffusion gồm hai giai đoạn chính: khuếch tán thuận và khử nhiễu ngược.
1. Quá trình khuếch tán thuận:
Giai đoạn này thêm nhiễu dần dần vào dữ liệu huấn luyện (hình ảnh) qua nhiều bước cho đến khi ảnh trở thành nhiễu hoàn toàn. Quá trình này được thiết kế về mặt toán học để có thể đảo ngược.
2. Quá trình khử nhiễu ngược:
Trong giai đoạn này, mô hình học cách đảo ngược quá trình thêm nhiễu. Bắt đầu từ nhiễu ngẫu nhiên, mô hình khử nhiễu ảnh lặp đi lặp lại qua nhiều bước, dần tái tạo thành ảnh mạch lạc và chất lượng cao. Quá trình ngược này được dẫn dắt bởi các mẫu và cấu trúc đã học từ dữ liệu huấn luyện.
Kiến trúc Multimodal Diffusion Transformer (MMDiT)
Stable Diffusion 3 giới thiệu kiến trúc mới gọi là Multimodal Diffusion Transformer (MMDiT). Kiến trúc này sử dụng các bộ trọng số riêng cho biểu diễn hình ảnh và ngôn ngữ, nâng cao khả năng hiểu và tạo theo prompt dựa trên văn bản. Bằng cách dùng các lộ trình xử lý tách biệt cho hình ảnh và thông tin văn bản, MMDiT cải thiện tính mạch lạc và độ chính xác của ảnh sinh ra, đặc biệt trong xử lý prompt phức tạp và kiểu chữ.
Ứng dụng thực tiễn của Stable Diffusion
Stable Diffusion có thể dùng cho nhiều ứng dụng thực tế, bao gồm:
- Tạo hình ảnh: Tạo hình ảnh mới từ mô tả văn bản.
- Chỉnh sửa hình ảnh: Thay đổi hình ảnh hiện có dựa trên prompt văn bản.
- Nâng cấp hình ảnh: Cải thiện chất lượng của ảnh độ phân giải thấp.
Những khả năng này khiến Stable Diffusion trở thành công cụ mạnh mẽ cho nghệ sĩ, nhà thiết kế, nhà nghiên cứu và bất kỳ ai muốn khám phá tiềm năng của AI sinh.
Cách chạy Stable Diffusion trực tuyến
Nếu bạn muốn bắt đầu sử dụng mô hình Stable Diffusion ngay, bạn có thể chạy trực tuyến bằng các công cụ sau.
1. DreamStudio
Stability AI, đơn vị tạo ra Stable Diffusion, đã giúp những người tò mò có thể thử mô hình chuyển văn bản thành hình ảnh của họ một cách cực kỳ đơn giản với công cụ trực tuyến DreamStudio.
DreamStudio cung cấp cho người dùng quyền truy cập vào phiên bản mới nhất của các mô hình Stable Diffusion và cho phép tạo hình ảnh chỉ trong tối đa 15 giây.

Giao diện người dùng DreamStudio. Nguồn ảnh: DreamStudio.
Khi viết hướng dẫn này, người dùng mới nhận được 100 tín dụng miễn phí để thử DreamStudio, đủ cho 500 hình ảnh với cài đặt mặc định! Bạn có thể mua thêm tín dụng trong ứng dụng khi tiện, chỉ với $10,00 cho mỗi 1000 tín dụng.
2. Hugging Face
Hugging Face là một cộng đồng và nền tảng AI thúc đẩy đóng góp mã nguồn mở. Dù được biết đến nhiều với các mô hình transformer, Hugging Face cũng cung cấp quyền truy cập vào phiên bản Stable Diffusion mới nhất, và đúng với tinh thần nguồn mở, nó là miễn phí.
Để chạy Stable Diffusion trên Hugging Face, bạn có thể thử một trong các bản demo, chẳng hạn như bản demo Stable Diffusion 2.1.
Điểm đánh đổi với Hugging Face là bạn không thể tùy chỉnh thuộc tính như ở DreamStudio và thời gian tạo ảnh lâu hơn thấy rõ.

Bản demo Stable Diffusion trên Hugging Face. Ảnh: tác giả.
Cách chạy Stable Diffusion trên máy cục bộ
Nhưng nếu bạn muốn thử nghiệm Stable Diffusion trên máy tính của mình thì sao? Chúng tôi có hướng dẫn cho bạn.
Chạy Stable Diffusion cục bộ cho phép bạn thử nhiều đầu vào văn bản để tạo ảnh phù hợp hơn với yêu cầu. Bạn cũng có thể tinh chỉnh mô hình trên dữ liệu của bạn để cải thiện kết quả, dựa trên đầu vào bạn cung cấp.
Lưu ý: Bạn cần có GPU để chạy Stable Diffusion cục bộ.
Bước 1: Cài đặt Python và Git
Để chạy Stable Diffusion từ máy tính của bạn, bạn sẽ cần Python 3.10.6. Có thể cài đặt từ trang web Python chính thức. Nếu gặp khó khăn, hãy xem hướng dẫn Cách cài đặt Python của chúng tôi.
Kiểm tra cài đặt đã thành công bằng cách mở command prompt, gõ python và chạy lệnh. Màn hình sẽ in ra phiên bản Python bạn đang dùng.
Lưu ý: Phiên bản khuyến nghị để chạy Stable Diffusion là Python 3.10.6. Chúng tôi khuyên bạn không nên tiếp tục nếu không dùng phiên bản này để tránh sự cố.
Tiếp theo, bạn cần cài đặt hệ thống quản lý kho mã Git. Hướng dẫn cài đặt Git có thể giúp bạn, và khóa học Giới thiệu về Git của chúng tôi có thể giúp bạn đào sâu kiến thức về Git.
Bước 2: Tạo tài khoản GitHub và Hugging Face
GitHub là dịch vụ lưu trữ phát triển phần mềm nơi các nhà phát triển lưu trữ mã để theo dõi và cộng tác với nhau trên các dự án. Nếu bạn chưa có tài khoản Github, đây là lúc thích hợp để tạo—hãy xem Hướng dẫn Github và Git cho người mới bắt đầu để được hỗ trợ.
Hugging Face là một cộng đồng AI ủng hộ đóng góp mã nguồn mở. Đây là trung tâm của nhiều mô hình AI thuộc nhiều lĩnh vực, bao gồm xử lý ngôn ngữ tự nhiên, thị giác máy tính và hơn thế nữa. Bạn sẽ cần một tài khoản để tải về phiên bản Stable Diffusion mới nhất. Chúng ta sẽ đến bước này sau.
Bước 3: Clone Stable Diffusion Web-UI
Ở bước này, bạn sẽ tải Stable Diffusion Web-UI về máy tính của mình. Việc tạo một thư mục riêng (ví dụ stable-diffusion-demo-project) là hữu ích nhưng không bắt buộc.
1. Mở Git Bash:
- Đảm bảo bạn đã cài đặt Git Bash trên máy.
2. Điều hướng đến thư mục mong muốn:
- Mở Git Bash và dùng lệnh
cdđể chuyển đến thư mục nơi bạn muốn clone Stable Diffusion Web-UI. Ví dụ:
cd path/to/your/folder
3. Clone repository:
- Chạy lệnh sau để clone repository Stable Diffusion Web-UI:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
4. Xác minh đã clone:
- Nếu lệnh thực thi thành công, bạn sẽ thấy một thư mục mới tên
stable-diffusion-webuitrong thư mục đã chọn.

Lưu ý: Bạn có thể tìm hướng dẫn cụ thể hơn cho phần cứng và hệ điều hành của mình trong repository GitHub Stable Diffusion web UI.
Bước 4: Tải mô hình Stable Diffusion mới nhất
1. Đăng nhập Hugging Face:
- Truy cập tài khoản Hugging Face của bạn.
2. Tải mô hình Stable Diffusion:
- Tìm và tải mô hình Stable Diffusion bạn muốn chạy từ Hugging Face. Các tệp này lớn nên có thể mất vài phút để tải.
3. Xác định thư mục mô hình:
- Đi đến thư mục sau trên máy bạn:
stable-diffusion-webui\models\Stable-diffusion
4. Di chuyển mô hình đã tải:
- Trong thư mục
Stable-diffusion, bạn sẽ thấy một tệp văn bản tênPut Stable Diffusion Checkpoints here. - Di chuyển tệp mô hình Stable Diffusion đã tải vào thư mục này.
Bước 5: Thiết lập giao diện web Stable Diffusion
Ở bước này, bạn sẽ cài đặt các công cụ cần thiết để chạy Stable Diffusion.
1. Mở Command Prompt hoặc Terminal.
2. Điều hướng đến thư mục web UI của Stable Diffusion:
- Dùng lệnh
cdđể chuyển đến thư mụcstable-diffusion-webuibạn đã clone trước đó. Ví dụ:
cd path/to/stable-diffusion-webui
3. Chạy script thiết lập:
- Khi đã ở trong thư mục
stable-diffusion-webui, chạy lệnh sau:
webui-user.bat
Script này sẽ tạo môi trường ảo và cài đặt tất cả các phụ thuộc cần thiết để chạy Stable Diffusion. Quá trình có thể mất khoảng 10 phút, vui lòng kiên nhẫn.
Lưu ý: Bạn có thể tìm hướng dẫn cụ thể hơn cho phần cứng và hệ điều hành của mình trong repository GitHub Stable Diffusion web UI.
Bước 6: Chạy Stable Diffusion cục bộ
Sau khi các phụ thuộc đã được cài đặt, một URL sẽ xuất hiện trong command prompt của bạn: http://127.0.0.1:7860.
- Sao chép và dán URL này vào trình duyệt để chạy giao diện web Stable Diffusion.
- Giờ bạn có thể bắt đầu nhập prompt và tạo hình ảnh!

Giao diện web Stable Diffusion chạy cục bộ. Ảnh: tác giả.
Kết luận
Stable Diffusion đại diện cho một bước tiến đáng kể trong lĩnh vực AI sinh. Nó cung cấp khả năng tạo hình ảnh chất lượng cao, chi tiết từ mô tả văn bản. Dù bạn muốn chỉnh sửa ảnh hiện có, nâng cấp ảnh độ phân giải thấp hay tạo hình ảnh hoàn toàn mới, Stable Diffusion mang đến một bộ công cụ mạnh mẽ và linh hoạt.
Với các bản cập nhật và cải tiến gần đây ở Stable Diffusion 3 và Medium, khả năng của mô hình đã được nâng cao hơn nữa, khiến nó trở thành một trong những lựa chọn dẫn đầu trong lĩnh vực AI sinh.
Chạy Stable Diffusion cục bộ hoặc qua các nền tảng trực tuyến như DreamStudio và Hugging Face cho phép bạn khám phá và khai thác tối đa tiềm năng của nó. Làm theo các bước trong hướng dẫn này, bạn có thể thiết lập và bắt đầu dùng Stable Diffusion để đáp ứng các nhu cầu sáng tạo và thực tiễn của mình!
Tìm hiểu thêm về AI sinh
AI sinh là một phương thức học sâu đột phá tạo ra văn bản, hình ảnh và nội dung chất lượng cao khác dựa trên dữ liệu đã được huấn luyện. Các công cụ như Stable Diffusion, ChatGPT và DALL-E là ví dụ điển hình cho cách AI sinh đang chuyển đổi nhiều ngành bằng cách cho phép những hình thức sáng tạo và đổi mới mới. Khi các công nghệ này tiếp tục phát triển, chúng mở ra những khả năng mới cho nghệ sĩ, nhà phát triển và nhà nghiên cứu trong việc mở rộng giới hạn của điều có thể.
Nếu bạn muốn đào sâu hơn vào thế giới AI sinh, dưới đây là một số tài nguyên để khám phá:
Câu hỏi thường gặp
Tôi có thể chạy Stable Diffusion trên máy tính không có GPU rời không?
Chạy Stable Diffusion đòi hỏi năng lực tính toán đáng kể, thường do GPU chuyên dụng cung cấp. Dù về lý thuyết có thể chạy trên CPU, quá trình sẽ cực kỳ chậm và kém hiệu quả. Để có trải nghiệm tốt nhất, nên dùng máy có GPU mạnh với ít nhất 6GB VRAM.
Làm thế nào để tôi tinh chỉnh Stable Diffusion bằng bộ dữ liệu của riêng mình?
Tinh chỉnh Stable Diffusion bao gồm huấn luyện lại mô hình trên bộ dữ liệu cụ thể của bạn để cải thiện hiệu năng cho trường hợp sử dụng của bạn. Quá trình này đòi hỏi hiểu biết tốt về học máy và môi trường tính toán phù hợp. Thông thường, bạn sẽ cần chuẩn bị bộ dữ liệu, chỉnh sửa script huấn luyện để đưa dữ liệu của bạn vào, rồi chạy quá trình huấn luyện bằng GPU mạnh. Hướng dẫn chi tiết về tinh chỉnh mô hình thường có trong tài liệu của các framework học máy như PyTorch.
Xem hướng dẫn của chúng tôi, Tinh chỉnh Stable Diffusion XL với DreamBooth và LoRA để biết thêm thông tin.
Những vấn đề thường gặp khi chạy Stable Diffusion cục bộ là gì và tôi có thể khắc phục như thế nào?
Các sự cố thường gặp bao gồm:
- Lỗi cài đặt: Đảm bảo tất cả phụ thuộc được cài đặt đúng và tương thích với hệ thống của bạn.
- Lỗi thiếu bộ nhớ: Giảm kích thước ảnh hoặc batch size nếu GPU của bạn không đủ VRAM.
- Hiệu năng chậm: Kiểm tra trình điều khiển GPU đã cập nhật và hệ thống không chạy các tiến trình nặng khác.
Hãy tham khảo trang issues của repository GitHub và các diễn đàn cộng đồng để biết mẹo khắc phục sự cố và giải pháp cụ thể.
Làm sao tối ưu hiệu năng của Stable Diffusion trên GPU của tôi?
Để tối ưu hiệu năng Stable Diffusion trên GPU của bạn:
- Cập nhật driver: Đảm bảo driver GPU của bạn được cập nhật.
- Điều chỉnh cài đặt: Giảm độ phân giải ảnh hoặc batch size để phù hợp với giới hạn VRAM của GPU.
- Dùng thư viện tối ưu: Sử dụng các thư viện và framework tối ưu như CUDA và cuDNN cho GPU NVIDIA.
- Đóng tiến trình nền: Giải phóng tài nguyên hệ thống bằng cách đóng các tiến trình nền không cần thiết.
- Giám sát hiệu năng: Dùng công cụ giám sát để theo dõi mức sử dụng GPU và điều chỉnh cài đặt cho tối ưu.
Tôi có thể dùng Stable Diffusion để tạo hoạt ảnh hoặc video không?
Dù Stable Diffusion chủ yếu được thiết kế để tạo ảnh tĩnh, vẫn có thể tạo hoạt ảnh hoặc video bằng cách tạo chuỗi ảnh rồi kết hợp chúng. Có thể thực hiện bằng cách:
- Tạo từng khung hình: Tạo từng khung bằng cách thay đổi nhẹ prompt đầu vào hoặc seed cho mỗi khung.
- Nội suy: Dùng kỹ thuật nội suy giữa các keyframe được tạo bởi Stable Diffusion.
- Phần mềm dựng video: Kết hợp các khung bằng phần mềm dựng video để tạo hoạt ảnh hoặc video mượt mà. Lưu ý rằng tạo hoạt ảnh chất lượng cao có thể cần hậu kỳ đáng kể và chuyên môn dựng video.
