Swift Core ML Diffusers: 在Apple设备上运行稳定扩散模型

Ray

Swift Core ML Diffusers:在Apple设备上释放AI图像生成的潜力 🎨🚀

在人工智能和机器学习快速发展的今天,稳定扩散(Stable Diffusion)模型凭借其强大的文本到图像生成能力,正在彻底改变创意和设计领域。然而,这些模型通常需要强大的GPU资源才能高效运行。那么,如何让普通用户也能在自己的设备上体验这项革命性技术呢?Swift Core ML Diffusers项目为我们提供了答案。

项目简介

Swift Core ML Diffusers是由Hugging Face开源的一个原生Swift应用,旨在展示如何在Apple设备上集成Core ML版本的稳定扩散模型。该项目巧妙地利用了Apple的Core ML框架,将原本需要强大GPU支持的稳定扩散模型移植到了iPhone、iPad和Mac等设备上。

这个项目不仅是一个技术演示,更为开发者提供了宝贵的参考代码和最佳实践。无论你是想要在自己的app中集成AI图像生成功能,还是对如何优化机器学习模型在移动设备上的性能感兴趣,Swift Core ML Diffusers都是一个值得深入研究的项目。

核心特性

  1. 原生Swift实现: 整个应用使用Swift编写,充分利用了Swift语言的特性和Apple平台的优势。

  2. Core ML优化: 项目使用了Apple的Core ML框架,这使得模型可以在CPU、GPU甚至是Neural Engine上高效运行。

  3. 多平台支持: 支持macOS、iOS和iPadOS,让用户可以在不同的Apple设备上体验AI图像生成。

  4. 快速推理: 通过使用DPM-Solver++调度器,大大提高了图像生成的速度。

  5. 模型量化支持: 支持使用coremltools v7及以上版本量化的模型,进一步提升性能。

技术细节深度解析

Core ML模型转换

Swift Core ML Diffusers项目的核心在于将原始的PyTorch格式的稳定扩散模型转换为Core ML格式。这个过程并不trivial,需要考虑到Core ML框架的特性和限制。项目团队通过细致的工作,成功地将复杂的稳定扩散模型架构适配到了Core ML上。

转换后的模型被托管在Hugging Face Hub上,方便用户直接下载使用。目前支持的模型包括:

  • Stable Diffusion v1.4
  • Stable Diffusion v1.5
  • Stable Diffusion v2 base
  • Stable Diffusion v2.1 base

每个模型都提供了原始(original)和split_einsum两种注意力机制实现,以及用于Python推理的ML Packages和用于Swift代码的Compiled版本。

性能优化

为了在资源受限的移动设备上实现可接受的推理速度,项目采取了多项优化措施:

  1. 计算单元选择: 应用会自动选择最适合的硬件来运行模型,包括CPU、GPU和Neural Engine。用户也可以在高级设置中手动调整。

  2. DPM-Solver++调度器: 从diffusers库移植而来的这个快速采样器显著提升了推理速度。

  3. 模型量化: 支持量化后的模型,在macOS Ventura 14或iOS/iPadOS 17上可获得更好的性能。

  4. 内存优化: 在低内存设备上启用内存减少技术,确保模型能够稳定运行。

实际性能表现

在MacBook Pro M1 Max (64 GB)上,使用Stable Diffusion v2-base模型,原始注意力实现,CPU + GPU运行,生成一张图像仅需约8秒。

在iPhone 13 Pro上,使用相同的模型,SPLIT_EINSUM注意力,CPU + Neural Engine运行,内存减少启用,生成时间在23~30秒之间。

App Screenshot

如何使用

对于Mac用户,最简单的方法是直接从Mac App Store下载Diffusers应用。这个应用是Swift Core ML Diffusers项目的官方发布版本,提供了友好的用户界面,让你能够轻松体验AI图像生成的乐趣。

对于开发者来说,你可以按照以下步骤在本地构建和运行项目:

  1. 克隆GitHub仓库: git clone https://github.com/huggingface/swift-coreml-diffusers.git
  2. 安装最新版的Xcode
  3. common.xcconfig文件中更新你的开发团队标识符
  4. 使用Xcode打开项目并运行

注意,在iOS设备上运行需要进行代码签名,而在macOS上目前是禁用的。

已知问题与解决方案

项目团队也坦诚地指出了一些已知问题,主要集中在iPhone上的性能不稳定性。有时生成速度可能会慢20倍,并导致设备发热。这通常是因为模型未能在Neural Engine上调度,而完全在CPU上运行造成的。

如果你遇到类似问题,可以尝试以下解决方法:

  • 断开与Xcode的连接
  • 关闭不使用的应用程序
  • 让iPhone冷却后再尝试
  • 重启设备

未来展望

Swift Core ML Diffusers项目仍在积极开发中。未来的计划包括:

  • 支持从Hugging Face Hub下载更多模型
  • 进一步优化性能,尤其是在移动设备上
  • 增加更多的图像生成功能和控制选项

结语

Swift Core ML Diffusers项目展示了AI技术与移动设备结合的巨大潜力。它不仅让普通用户能够在自己的设备上体验最先进的AI图像生成技术,也为开发者提供了宝贵的学习资源。随着项目的不断发展和完善,我们有理由期待在不久的将来,AI辅助创作将成为每个人随手可得的工具。

无论你是AI爱好者、移动开发者,还是对未来技术感兴趣的普通用户,Swift Core ML Diffusers都值得你关注和尝试。让我们一起期待AI与移动技术碰撞出的更多精彩火花! 🌟💻📱

参考链接:

avatar
0
0
0
相关项目
Project Cover

langchain-swift

langchain-swift是一个纯客户端的Swift库,不需要服务器,并支持iOS、macOS、watchOS和visionOS(测试版)。它提供本地模型、聊天机器人、QA机器人和数据检索,通过配置OpenAI、Supabase、百度OCR等多种API接口来增强功能。该库优化了不同Apple平台上的AI模型性能,旨在为开发者提供高效全面的AI解决方案。

Project Cover

SwiftWhisper

SwiftWhisper利用whisper.cpp为应用或软件包添加语音转录功能。通过Swift Package Manager或Xcode进行安装,支持多种平台和Swift版本。提供详细的API文档和CoreML支持,通过AudioKit将音频转换成16kHz PCM格式,是高效语音转录的理想选择。

Project Cover

openai-kit

OpenAIKit是一个用于与OpenAI API通信的Swift包,通过Package.swift文件集成。建议使用环境变量配置API密钥确保安全。提供多种与OpenAI API交互的方法,包括Chat、Models、Completions、Edits和Images等。此外,OpenAIKit还支持错误处理机制,便于开发者捕获并处理API请求失败的情况。

Project Cover

SwiftOpenAI

SwiftOpenAI项目提供了功能强大且易于使用的Swift SDK,帮助开发者轻松集成OpenAI的高级AI模型,如GPT-4、GPT-3等。项目包含详细的安装指南和代码示例,供开发者快速实现图像生成、音频转换和聊天回复等功能。特别强调API密钥的安全存储,提供了实际使用案例,适合希望在应用中利用AI技术的Swift开发者。

Project Cover

AssisChat

AssisChat是一款基于Swift和SwiftUI开发的跨平台AI聊天助手,支持iOS、iPadOS和macOS。用户可使用自己的OpenAI或Claude API密钥。功能特色包括自定义聊天行为、消息内容复制、应用分享扩展和键盘扩展。可从App Store直接下载,或通过Xcode本地构建。

Project Cover

OpenAI

这款开源库基于OpenAI公有API,用Swift实现,支持iOS、macOS、tvOS和watchOS平台。用户可使用该库集成并调用OpenAI模型进行自然语言处理和代码生成任务,并支持自定义模型微调。该库提供多种初始化参数和SSL握手机制,确保数据传输安全。通过CocoaPods和Swift Package Manager进行安装,可以便捷地在Swift项目中使用。

Project Cover

similarity-search-kit

SimilaritySearchKit是一个Swift包,支持iOS和macOS应用,实现本地文本嵌入和语义搜索。该工具强调速度、可扩展性和隐私,内置多种NLP模型和相似度度量,开发者可快速创建功能强大的应用,同时确保数据本地存储,保护隐私。适用于隐私优先的文档搜索引擎、离线问答系统和文档聚类推荐引擎。安装简单,支持多种嵌入模型和距离度量。

Project Cover

ios-learning-materials

该项目汇总了丰富且实用的iOS开发学习资源,包括文章、网络资源、教程以及Stack Overflow和Quora的问答。不仅涵盖基础iOS开发技术,还涉及计算机图形学、机器学习和设计模式等相关领域。资源分类明确,便于查找和学习,项目定期更新,致力于成为iOS开发者的权威学习参考。

Project Cover

LLM.swift

`LLM.swift` 是一个简洁易用的库,支持在macOS、iOS、watchOS、tvOS和visionOS上与大型语言模型本地交互。开发者可通过SPM或直接复制代码在Xcode项目中使用。此库基于`llama.cpp`,性能优越,并保持与最新更新同步。其设计允许自定义输入预处理、输出后处理及动态更新功能,并支持从HuggingFace获取模型数据,适用于跨平台高效语言模型交互的需求。

最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号