1. 什么是PromptEngineering

所谓prompt工程,就是让LLM模型清晰准确的知道你要干什么,引导模型充分的发掘它的能力上限,类比到人与人之间,就是提升沟通的效率。OpenAI提出了prompt工程的6条原则[1],在这篇文档里,按照个人的理解,将这部分按照适用场景分成用户和开发者两个部分,一共6条(与openai的6条顺序有所不同):

用户策略:

  • Write clear instructions(写出清晰的指令)
  • Provide reference text(提供参考文本)
  • Give the model time to “think”(给模型时间“思考”)

开发者策略:

  • Split complex tasks into simpler subtasks(将复杂的任务拆分为更简单的子任务)
  • Use external tools(使用外部工具)
  • Test changes systematically(系统地测试变更)

这几个原则概括了一个好的prompt应该是什么样子的。实际应用中,prompt工程能否有效,很大程度上依赖LLM的指令追随能力,要不然就变成 了,对着聋子打鼓–充耳不闻,说了也白说……

阅读全文 »

论文地址:https://arxiv.org/pdf/2309.17453.pdf

代码地址:https://github.com/mit-han-lab/streaming-llm

在LLM的训练和推理过程中,transformer的kv-cache一直是个非常头痛的问题,因为attention的计算机制,kv-cache是与输入的tokes数量呈平方关系的,在decoder结构中,第N步的forward都要计算前面的所有的N-1步的所有token,随着文本长度的增加,这会带来非常大的计算和存储开销。

在保证模型效果的条件小减少kv缓存是一个非常值得研究的事情。从下面徒可以看到,模型结合了window-attention和slide windiw的优势,有非常好的表现。

阅读全文 »

扩散模型是AIGC方向的基础,这里对扩散模型进行学习总结。

VAE–>DM–>LDM–>StableDiffusion–>AltDiffusion–>MidJourney–>>StableDiffusion 2–>DreamBooth

ALTCLIP

  • 目的:多语言版本多模态文本模型,主要想得到 text encoder,image encoder固定

  • 论文:https://arxiv.org/abs/2211.06679

  • 做法:

    ![image-20230330140536968](/Users/baai/Library/Mobile Documents/comappleCloudDocs/Blog/source/_posts/AIGC/ALTCLIP.png)

    • 两阶段训练
      • 阶段1:
        • 目的:XLMR在保持多语言能力的同时,从CLIP中获取两种语言的文本-图像对齐能力
        • teacher:权重固定的 clip text encoder
        • student:Facebook的多语言NLP模型XLMR
        • 数据:语言平行语料
        • 任务设计:xlmr和clip_text_encoder的mse
      • 阶段2:
        • 目的:对比学习,微调模型,进一步提升图文对齐能力
        • teacher:权重固定的clip image encoder
        • student:一阶段训练之后的XLMR
        • 数据:图文对数据
        • 任务设计:图文对比学习

latent diffusion

本篇主要总结一下当前视觉模型的发展,算是一个论文汇总,主要包含: EVA,PAINTER,VIT22B,MAE,SWIN-T等模型

阅读全文 »