这是一个结合SOTA AI的应用web库以及研究的储备库,它能够帮你实现一切:你只需要提供提示!只需一次点击!通过SOTA模型的提示和创意,你可以做任何事情。
动机
当前:为工程和研究所积累的AI智能体后台”安尼森“,这需要使用更多的多模态任务以及zero-shot模型,不仅提供多模态的AI处理web UI,逐渐丰富的功能。
目标:你可以通过它完成一切事情!让我们详细了解下该项目的开发进度和计划,最终完整的智能体结合本地储备的GPT可以帮你调用一切AI任务!欢迎提问、star和fork,以及伸出援助之手~
-
(YOCO)它不仅是一个可以提示任何事情的工具
🔥 数据引擎:
此外,我们将在未来引入视频、音频和3D注释,YOCO依赖于集成的多模态模型以及GPT等辅助生成,当然它并不是万能的,通过有效的全自动标注和stable diffusion系列的方法去生产和控制符合需求的数据,完成”数据引擎“,并且生成的定制化的标签格式,去便于训练常规模型。
🔥 模型训练:
对于每一个模型我们不仅要做到使用,还在阅读它的论文和微调方法以及和原作者交流,尝试一些改进和更好训练的开发工作,Fine-tune大模型和通过YOCO生成的定制化的标签格式,更高效地训练常规模型。
- 🚀交互内容创作和视觉&&语音GPT
集成多样化GPT,目前主要以chatgpt的端口为主,利用开源的清华VISUALGLM,我们实现本地化GPT的部署和微调,以及尝试改进模型结构,通过多模态的应用工具进行对话和内容创作,支持语音识别、语音合成、并发送Audio2face.
这是一个最简单的例子
-
⭐ 应用角色扮演—— 3D &&2D 虚拟人(开发中)
通过3D引擎去结合GPT等多模态任务完成一个角色设计互动;
通过saldtalker开源项目去结合GPT等多模态任务完成一个角色设计互动;
-
🔥🔥🚀无限的潜力“安尼森”
不断的创意和积累,SOTA -AI的集成和学习,我们会通过记录每一个集成的模型,对它进行一次详解,总结在文章中。
作者AI相关所有知识储备和工程经验总结给本地大模型(这部分是最终开发功能,计划中)
⭐ 研究 🚀 项目 🔥 灵感(筹备中)
在研究层面上,零样本迁移比较学习是热门的研究趋势,我希望尽可能理解正在应用的项目的模型设计细节,这样我们想将文本、图像和音频相结合设计一个强大的对齐backbone。
在项目层面上,可考虑Tensorrt加速基本模型或者其他的模型转换方式可以提高效率。
-
修复了LLM调用相关的BUG和界面调整,正在更新langchains和Agent
-
更新了ram&7tag2Text【Done】
-
修复优化开源GLM的一些功能,一键微调按钮和各种微调模型
-
语音文本处理链接gpt,加入chatglm 【Done】
-
Gilgen测试代码更新
-
ram&7tag2TexT等解析文章
-
【2023/8/7】 v1.2: 修复了界面已知BUG,分离了部分依赖,修复了chatglm2和多模型加载问题,完整添加了最新的学术GPT功能,并在更新langchains更多功能
-
【2023/7/21】 v1.15: 更新了Tag2text和ram的代码,支持RAM,是一个中英识别标签的双模态模型
-
【2023/6/7】 v1.15 :加入子项目SadTalker,更新UP界面,语音对话功能界面更新
-
【2023/6/6】 v1.15版本:修复了已知的环境安装问题和补充说明,特殊的模型独立了调用,不需要可以不用安装依赖了;添加了一键微调VisualGLM的功能,考虑机器配置和显存慎用;
-
【2023/6/5】 修复whisper asr的bug,内部可选模型,但是考虑显存不建议超过small,上传百度云一个介绍。
-
【2023/5/31】添加Web演示:修复已知问题BUG,添加TTS模块(临时版本),LINUX系统上测试通过了所有开放的功能,补充一些说明和测试。(修改重载:每次勾选加载模型和释放模型后,因为太多的本地化的大模型,如果部署本地GPT显卡必须要20G+,但目前机制无法动态释放调节释放多个模型显存,这个按钮只能帮助你选择、组合串联cv模型的使用方式了)
-
【2023/5/29】添加Web演示:加入了学术chatgpt部分功能,感谢他们的工作,其次添加了一键生成VisualGLM-6B数据集标注功能,后续可一键微调
-
【2023/5/23】添加Web演示:加入清华的VisualGLM-6B版本
-
【2023/5/7】添加Web演示:目前,已经测试了文本生成、图像或图像文件夹的检测和分割功能,程序无需重新启动,记住了最后的模型加载配置,并将在未来持续优化。
-
【2023/5/4】添加语义分割标签,添加args(--color-flag --save-mask)
-
【2023/4/26】YOCO,自动标注工具:提交初步代码,针对输入图像或文件夹,可以获得检测、分割和文本注释的结果,额外提供选择chatgpt api。
预备工作
-
VisualGLM-6B : Visual ChatGlm.
-
Segment Anything:强大的分割模型。但它需要提示(如包围框/点/掩码、文本)来生成蒙版。
-
Grounding DINO:强大的零样本泛化检测器,能够使用自由格式文本生成高质量框和标签。
-
Stable-Diffusion:文本-图像扩散模型。
-
Tag2text:高效可控的视觉-语言模型,可以同时输出优越的图像字幕和图像标记。
-
SadTalker:单图声音驱动人脸的方法
-
lama:分辨率鲁棒的大屏蔽填充与傅立叶卷积
-
gpt_academic : 丰富的LLM工具箱。
首先,需要有基本的gpu深度学习环境。
(强烈建议使用Linux,Windows可能在编译Grounded-DINO Deformable和配置Visualglm时候算子时出现问题,参见Grounding DINO)
git clone https://github.com/positive666/Prompt-Can-Anything
cd Prompt-Can-Anything
安装基本环境:
pip install -r requirements
或者
pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt
安装Ground检测器(编译):
cd model_cards
pip install -e .
安装清华智谱视觉VisualGLM(可选,最好用LINUX系统,window后面测试后补充安装方案):
git submodule update --init --recursive
cd VisualGLM_6B && pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt
安装SadTalker(optional )
git clone https://github.com/Winfredy/SadTalker.git
cd SadTalker && pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt
Tips:创建checkpoints 和gfpgan两个目录,放置在根目录下。从官网下载解压的权重分别放进两个文件夹!!
安装LAMA模型(可选还未发布):
这个环境对Python版本要求比较苛刻,可能需要按照下面txt的版本手动覆盖安装
pip install -r model_cards/lama/requirements.txt
安装扩散器(可选):
pip install --upgrade diffusers[torch]
更多内容,可以查看requirements, “pip install < your missing packages>”, 如果出现安装版本问题,请仔细看requirements的版本
Linux环境问题【易出现问题的库】
- 对于pyaudio
方法一:在Linux平台可能通过pip并不一定成功,进入这里pyaudio-wheels · PyPI,选择对应你Python的版本,下载后pip安装whl,后续会详细补充。
方法二:
sudo apt-get install portaudio19-dev
sudo apt-get install python3-all-dev
pip install pyaudio
2.VisualGLM训练环境:使用qlora微调int4模型问题:
pip install bitsandbytes -i https://mirrors.aliyun.com/pypi/simple
Windows安装问题
目前除了LLM的加速和微调三方库,无特殊问题。
运行
- 下载模型权重
名称 | 骨干 | 数据 | 权重 | 模型配置 | |
---|---|---|---|---|---|
1 | Tag2Text-Swin | Swin-Base | COCO、VG、SBU、CC-3M、CC-12M | 下载链接 | |
2 | Segment-anything | vit | 下载链接| 下载链接| 下载链接 | ||
3 | Lama | FFC | 下载链接 | ||
4 | GroundingDINO-T | Swin-T | O365、GoldG、Cap4M | Github链接 | HF链接 | 链接 |
[视频Demo介绍 ](https://pan.baidu.com/s/1AllUjuOVhzJh7abe71iCxg?pwd=c6v6)
[ Video demo 2 ] (https://pan.baidu.com/s/1jdP9mgUhyfLh_hz1W3pkeQ?pwd=c6v6)
-
自动标注的测试样例
"--input_prompt" : 你可以手动输入prompt,比如你只想检测你感兴趣的目标类别,可以直接输入给grounded检测模型,也可以输入给tag2text '--color-flag': 使用BOX的标签同类别和实例分割区别:语义分割的类别颜色
支持多种任务,例如:
默认任务包括图像理解/检测/实例分割…(以及后修添加图像生成和编辑的方法去制作新数据)
"Prompt" control models output, example
python auto_label_demo.py --source --save-txt --save-mask --save-xml --save_caption
-
webui
python app.py
2.语音大语言模型&&驱动a2f
这是一个简单的例子,实际上asr、tts\llm_model\这些组件是可以任意替换的,只要你具备基本的开发能力,通过语言模型和语音驱动去完成A2F的服务,你需要安装Omniverse软件和Audio2face的应用,GPU不能是比较旧的帕斯卡架构,详情可以看https://www.nvidia.cn/omniverse/
步骤1.在Omniverse中,点击如图下的例子,安装一个Demo player,它会自动完成tensortt的构建,然后可以如下图中获取Player的路径Prim Path
步骤2. 程序运行起来后,将上面获得的路径拷贝,填写在config_private的“Avatar_instance_A”,在web端如图下操作点击 ‘start system’后,点击加载“Speech_system”启动语音模式,但是注意TTS是网络服务。
- 释放初版
- web ui 界面调整
- 支持chatgpt/VISUALGLM/ASR/TTS
- Yoco一键标注微调VISUALGLM Demo
- 3d &&2d avatvor
- 完成计划的AI结合体“安尼森”
- 微调sam分割器 and ground检测器 ,拓展SAM的输入控制
- 释放训练方法.
- 知识克隆
感谢他们的出色工作!