近期关于AIGC方面的学习笔记和思路整理

LLM

对于LLM,我现在重点关注在这几个方面:

开源且可私有化部署的代码生成模型:

因为大部分软件企业对于安全都很重视,文档、数据、代码一般都会尽量避免被泄露。所以很难使用类似Copilot或者OpenAI的Bito这种需要连到互联网上的服务。如果能有可以私有化部署的代码生成模型,就可以很好的解决这个问题。现在有以下一些开源的模型:

  • Saleforce的CodeT5

https://github.com/salesforce/CodeT5

2021年9月,Saleforce公布了CodeT5模型。目前,Saleforce公开了4个版本的CodeT5模型,均开源可获得。

  • CodeT5-small:0.6亿参数
  • CodeT5-base:2.2亿参数
  • CodeT5-large:7.7亿参数
  • CodeT5-large-ntp-py:7.7亿参数
  • Saleforce的CodeGen/CodeGen2

https://github.com/salesforce/CodeGen

2022年5月,Saleforce再次发布了一个新的编程模型CodeGen。该模型是一系列模型,参数有4个版本:3.5亿、20亿、60亿和160亿。而训练的数据也有三个:

  1. nl版本:基于Pile数据训练
  2. multi版本:在nl基础上继续在多个编程语言组成的数据集上训练
  3. mono版本:继续在multi版本上基于Python代码数据训练

上述12个模型全部在HuggingFace上开源。

2023年5月3日,Saleforce开源第二代CodeGen:CodeGen2发布。该系列模型包含4个版本,分别是10亿参数、37亿参数、70亿参数和160亿参数四个版本。CodeGen2可以进行infilling,并且支持更多的编程语言。这里的infilling应该是在插入代码的含义。

CodeGen2也是全部开源,其中160亿参数版本开源文件大小66GB左右~

  • MetaAI的InCoder

GitHub - dpfried/incoder: Generative model for code infilling and synthesis

InCoder: A Generative Model for Code Infilling and Synthesis

InCoder是MetaAI在2022年4月发布的一个编程大模型。模型训练数据仅包含来自在线来源(如GitHub、GitLab和StackOverflow)的开放许可代码(Apache 2.0、MIT、BSD-2和BSD-3许可),其中重点是Python和JavaScript,但总共包括28种语言 - 总共约200GB的数据。公开的模型预训练结果共2个版本,一个是67亿参数一个是13亿参数。

尽管InCoder的训练数据都是开放许可代码数据,但是MetaAI的InCoder模型确实开源的不可商用的!

  • 国内的智谱AI开发的CodeGeeX

近期关于AIGC方面的学习笔记和思路整理_第1张图片

https://codegeex.cn/

https://github.com/THUDM/CodeGeeX

CodeGeeX - a Hugging Face Space by THUDM

CodeGeeX是一个具有130亿参数的多编程语言代码生成预训练模型。CodeGeeX采用华为MindSpore框架实现,在鹏城实验室“鹏城云脑II”中的192个节点(共1536个国产昇腾910 AI处理器)上训练而成。截至2022年6月22日,CodeGeeX历时两个月在20多种编程语言的代码语料库(>8500亿Token)上预训练得到。CodeGeeX有以下特点:

  • 高精度代码生成:支持生成Python、C++、Java、JavaScript和Go等多种主流编程语言的代码,在HumanEval-X代码生成任务上取得47%~60%求解率,较其他开源基线模型有更佳的平均性能。代码生成示例
  • 跨语言代码翻译:支持代码片段在不同编程语言间进行自动翻译转换,翻译结果正确率高,在HumanEval-X代码翻译任务上超越了其它基线模型。代码翻译示例
  • 自动编程插件:CodeGeeX插件现已上架VSCode插件市场(完全免费),用户可以通过其强大的少样本生成能力,自定义代码生成风格和能力,更好辅助代码编写。插件下载
  • 模型跨平台开源: 所有代码和模型权重开源开放,用作研究用途。CodeGeeX同时支持昇腾和英伟达平台,可在单张昇腾910或英伟达V100/A100上实现推理。申请模型权重

全新多编程语言评测基准HumanEval-X:HumanEval-X是第一个支持功能正确性评测的多语言、多任务的基准,包含820个人工编写的高质量代码生成题目、测试用例与参考答案,覆盖5种编程语言(Python、C++、Java、JavaScript、Go),支持代码生成与代码翻译能力的评测。如何使用

近期关于AIGC方面的学习笔记和思路整理_第2张图片

在HumanEval-X代码生成任务上,与其它开源基线模型相比,CodeGeeX取得了最佳的平均性能。

Replit的Replit Code

模型:replit/replit-code-v1-3b · Hugging Face

2023年5月3日,Replit Code V1-3b正式发布,并在HuggingFace上开源。Replit-finetuned-v1-3b是Replit开发的一个编程大模型,与Replit-code-v1-3b一同宣布。官方确定Replit-code-v1-3b会是一个开源的模型,但是没有明确说Replit-finetuned-v1-3b是否开源。

BigCode的StarCoder/StarCoderBase

在5月4日,BigCoder在HuggingFace的支持下发布了开源代码生成模型Starcoder。BigCode是由Hugging Face和ServiceNow共同领导的开放科学合作项目,致力于负责任地开发大型代码语言模型。StarCoder 和 StarCoderBase 是代码的大型语言模型 (Code LLM),使用来自 GitHub 的许可数据进行训练。具体请看我的文章:

近期关于AIGC方面的学习笔记和思路整理_第3张图片

北方的郎:Starcoder:愿源码与你同在, 最新的开源代码生成LLM来了

可商用的开源LLM

训练LLM要花很多资源,例如MPT-7B训练的时候尽管采取了很多降低资源需求的技术,仍然要在440 GPU上训练了9.5 天花费了20万美元。而在大模型基础上进行微调的费用就小很多。

所以对于可商用的LLM就有很大的需求,而且有很好的应用前景,例如在开源LLM基础上训练某个大企业的客服模型等。很高兴看到近期MPT和RedPajama分别发布了可商用的LLM模型。

近期关于AIGC方面的学习笔记和思路整理_第4张图片

北方的郎:MPT-7B:开源,商业可用,性能堪比LLaMA-7B的LLM新成员

近期关于AIGC方面的学习笔记和思路整理_第5张图片

北方的郎:不止是数据,RedPajama的模型也出来了,RedPajama 7B, 一个开源的高效LLM模型

LLM as a Controller

我感觉现在LLM的一个重要趋势就是LLM as a Controller(这个叫法是我自己拍脑袋想的,不知道学术界是怎么称呼的),就是把LLM放在前面作为控制器,其他专业模型作为工具,实现1+1>2更好的解决问题。HuggingGPT就是一个很好的尝试。

近期关于AIGC方面的学习笔记和思路整理_第6张图片

北方的郎:HugingGPT 模型整合,贾维斯来了

其他LLM进展:

其他的模型也都各有特色

北方的郎:HuggingChat来了-各种Chat这么火Huggingface终于也忍不住了

北方的郎:IBM也下场LLM了,低成本、高效率的单峰驼Dromedary来了

AI绘画:

Stable Diffusion

主流的开源模型还是Stable Diffusion,因为它的生态非常丰富,各种Checkpoint和Lora都很多,可以生成非常漂亮的图。

近期关于AIGC方面的学习笔记和思路整理_第7张图片

北方的郎:深入浅出讲解Stable Diffusion原理,新手也能看明白

DeepFloyd IF

对于需要精确控制的图片,例如需要显示特定的文字,因为Stable Diffusion使用的是潜空间(latent space),所以有些力有不逮。这时就可以使用DeepFloyd IF,它复现了Google的Imagen(Text-to-Image Diffusion Models),采用像素空间,效果会更好。例如:

prompt:landscape of newyork with words "hello"

近期关于AIGC方面的学习笔记和思路整理_第8张图片

近期关于AIGC方面的学习笔记和思路整理_第9张图片

Midjourney

近期关于AIGC方面的学习笔记和思路整理_第10张图片

Stable Diffusion

近期关于AIGC方面的学习笔记和思路整理_第11张图片

这个实验只有DeepFloyd IF正确显示了文字。

北方的郎:新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

多模态

MiniGPT4:

近期关于AIGC方面的学习笔记和思路整理_第12张图片

北方的郎:MiniGPT-4来了、脱胎于LLama、开源且好用

LLaVA:

近期关于AIGC方面的学习笔记和思路整理_第13张图片

北方的郎:找GPT-4作老师的LLaVA多模态大模型,学的很不错

其他多模态模型:

北方的郎:玩LLM和StableDiffusion常说的LoRA到底是什么

北方的郎:DINOv2: A Self-supervised Vision Transformer Model

北方的郎:继针对图像的分割一切之后,针对视频的Track-Anything(追踪一切)来了

演进路径:

LLM进化树:

很高兴有人做了这张图,让大家可以对LLM的发展一目了然。

近期关于AIGC方面的学习笔记和思路整理_第14张图片

北方的郎:大语言模型(LLM)的进化树,学习LLM看明白这一张图就够了

我自己的一些总结和感想:

北方的郎:Transformer类模型应用情况的简单综述

北方的郎:AI内容检测工具评测集合

北方的郎:常用ChatGPT类模型的总结

北方的郎:从GPT-1到GPT-4,GPT系列模型详解

北方的郎:数据即模型,模型即数据

感觉有帮助的朋友,欢迎赞同、关注、分享三连。^-^

你可能感兴趣的:(AIGC,学习,笔记)