【AI理论学习】深入理解Prompt Learning和Prompt Tuning

深入理解Prompt Learning和Prompt Tuning

  • 背景
  • Prompt Learning简介
    • 1. Prompt是什么?
    • 2. 为什么要使用Prompt?
    • 3. Prompt Learning的形式(举例)
    • 4. 有哪些Pre-training language model?
    • 5. 常见的Prompt Learning的方法
  • Prompt Tuning的策略
    • 1. Fine-turn的策略
    • 2. NLP中基于Prompt的fine-tune
    • 3. CV中基于Prompt的fint-tune
      • 1. 分类
      • 2. 持续学习
      • 3. 多模态模型
        • 1. Vision-Language Model: Context Optimization (CoOp)
        • 2. Conditional Prompt Learning for Vision-Language Models
      • 4. 域适应
        • Domain Adaptation via Prompt Learning
  • 内容来源
  • 参考文献

近年来NLP学术领域发展真是突飞猛进,从 对比学习( contrastive learning)到现在的 提示学习(prompt learning)。自从Self-Attention 和 Transformer出现以来,它们就成为了NLP领域的热点。由于全局注意力机制和并行化的训练策略,基于Transformer的自然语言模型能够方便地编码长距离依赖关系,同时可以在大规模自然语言数据集上进行并行化训练。

众所周知,数据标注数据很大程度上决定了AI算法上限,并且成本非常高,无论是对比学习还是提示学习都着重解决少样本学习而提出,甚至在没有标注数据的情况下,也能让模型表现比较好的效果。而且由于自然语言处理领域任务种类繁多,而且任务之间的差别微小,所以为每个任务单独创建一个大语言模型很不划算。与此同时,在CV中,不同的图像识别任务往往也需要微调整个大模型。

因此,Prompt Learning的提出给这个问题提供了一个很好的方向。本文主要介绍prompt learning的基本思想和目前常用的方法。

背景

(1)基于传统机器学习模型:在以往的机器学习方法中,基本上都是基于全监督学习(fully supervised learning)的方法。然而,由于监督学习需要大量的数据学习性能优异的模型,而NLP中为特定任务标注的数据集往往是不足的,因此在深度学习出现之前研究者通常聚焦于特征工程(feature engineering),即利用领域知识从数据中提取好的特征;在这一阶段的方法例如tf-idf特征+朴素贝叶斯等机器算法;

(2)基于深度学习模型: 深度学习出现之后,由于可以从数据中得到隐含的特征,因此研究人员转向了结构工程(architecture engineering),即通过设计一个合适的网络结构来把归纳偏置(inductive bias)引入模型中,从而有利于学习好的特征。例如word2vec 特征 + LSTM 等深度学习算法,相比于传统方法,模型准确有所提高,特征工程的工作也有所减少;

(3)基于预训练模型 + finetuning: 自从BERT出现之后,NLP研究者开始转向另一个新的模式,即预训练 + 微调(pre-train and fine-tune)。在这个模式中, 先用一个固定的结构预训练一个语言模型(language model, LM),预训练的方式就是让模型补全上下文(比如完形填空)。相比于深度学习模型,模型准确度显著提高,但是模型也随之变得更大,但小数据集就可训练出好模型;

(4)基于预训练模型 + Prompt + 预测的方法:在预训练的过程中,由于不需要专家知识,因此可以在网络上搜集的大规模文本上直接进行训练。然后这个LM通过引入额外的参数或微调来适应到下游任务上。这就逐渐形成了目标工程(objective engineering),即为预训练任务和微调任务设计更好的目标函数

可以发现,整个NLP领域是朝着精度更高、少监督,甚至无监督的方向发展的,而Prompt Learning是目前学术界向这个方向进军最新也是最火的研究成果。

Prompt Learning简介

1. Prompt是什么?

预训练模型中存在大量知识;预训练模型本身具有少样本学习能力。GPT-3 提出的In-Context Learning,也有效证明了在Zero-shotFew-shot场景下,模型不需要任何参数,就能达到不错的效果,特别是近期很火的GPT3.5系列中的ChatGPT

在做objective engineering的过程中,研究者发现让下游任务的目标与预训练的目标对齐是有好的。因此下游任务通过引入文本提示符(textual prompt),把原来的任务目标重构为与预训练模型一致的填空题

比如一个输入 “I missed the bus today.” 的重构:

  • 情感预测任务。输入:“I missed the bus today. I felt so___.” 其中 “I felt so” 就是提示词(prompt),然后使用 LM 用一个表示情感的词填空。
  • 翻译任务。输入:“English: I missed the bus today. French: ___.” 其中 “English:” 和 “French:” 就是提示词,然后使用 LM 应该再空位填入相应的法语句子。

用不同的prompt加到相同的输入上,就能实现不同的任务,从而使得下游任务可以很好的对齐到预训练任务上,实现更好的预测效果。然而,有研究表明,在同一个任务上使用不同的 prompt,预测效果也会有显著差异,因此现在有许多研究开始聚焦于prompt engineering

因此,Prompt Learning 的本质是将所有下游任务统一成预训练任务;以特定的模板,将下游任务的数据转成自然语言形式,充分挖掘预训练模型本身的能力。即设计一个比较契合上游预训练任务的模板,通过模板的设计就是挖掘出上游预训练模型的潜力,让上游的预训练模型在尽量不需要标注数据的情况下比较好的完成下游的任务。Prompt Learning关键包括三个步骤:

  • 设计预训练语言模型的任务
  • 设计输入模板样式(Prompt Engineering)
  • 设计label样式,以及模型的输出映射到label的方式(Answer Engineering)

2. 为什么要使用Prompt?

先从Prompt Learning之前的学习模式来分析,即预训练模型PLM+finetuning范式,常用的是BERT+finetuning。如下图所示:
BERT+finetuning
这种学习模式是想要预训练模型更好的应用在下游任务,需要利用下游数据对模型参数微调;首先,模型在预训练的时候,采用的训练形式:自回归自编码,这与下游任务形式存在极大的gap,不能完全发挥预训练模型本身的能力。必然导致:较多的数据来适应新的任务形式——>少样本学习能力差、容易过拟合
MLM pre-training Fine-tuning
其次,现在的预训练模型参数量越来越大,为了一个特定的任务去 finetuning 一个模型,然后部署于线上业务,也会造成部署资源的极大浪费。

3. Prompt Learning的形式(举例)

  1. 以电影评论情感分类任务为例,模型需根据输入句子做二分类:
    「原始输入」:特效非常酷炫,我很喜欢。
    「Prompt输入」
    • 「提示模板1」: 特效非常酷炫,我很喜欢。这是一部[MASK]电影;
    • 「提示模板2」: 特效非常酷炫,我很喜欢。这部电影很[MASK]

提示模板的作用就在于:将训练数据转成自然语言的形式,并在合适的位置 MASK,以激发预训练模型的能力
提示模板

  1. 类别映射/Verbalizer:选择合适的预测词,并将这些词对应到不同的类别。
    类别映射
    通过构建提示学习样本,只需要少量数据的Prompt Tuning,就可以实现很好的效果,具有较强的零样本/少样本学习能力。

4. 有哪些Pre-training language model?

  • Left-to-Right LM: GPT, GPT-2, GPT-3
  • Masked LM: BERT, RoBERTa
  • Prefix LM: UniLM1, UniLM2
  • Encoder-Decoder: T5, MASS, BART

5. 常见的Prompt Learning的方法

  • 按照 prompt 的形状划分:完形填空式,前缀式。
  • 按照人的参与与否:人工设计的,自动的(离散的,连续的)
    人工设计的Prompt人工设计的 Prompt

Prompt Tuning的策略

1. Fine-turn的策略

在下游任务上微调大规模预训练模型已经成为大量NLP和CV任务常用的训练模式。然而,随着模型尺寸和任务数量越来越多,微调整个模型的方法会储存每个微调任务的模型副本, 消耗大量的储存空间。尤其是在边缘设备上存储空间和网络速度有限的情况下,共享参数就变得尤为重要。

一个比较直接的共享参数的方法是只微调部分参数,或者向预训练模型中加入少量额外的参数。比如,对于分类任务:

  • Linear:只微调分类器 (一个线性层), 冻结整个骨干网络。
  • Partial-k:只微调骨干网络最后的 k 层, 冻结其他层。
  • MLP-k:增加一个 k 层的 MLP 作为分类器。
  • Side-tuning:训练一个 “side” 网络,然后融合预训练特征和 “side” 网络的特征后输入分类器。
  • Bias:只微调预训练网络的 bias 参数。
  • Adapter:通过残差结构,把额外的MLP模块插入Transformer。

另一种方式是使用Transformer。近年来,Transformer模型在NLP和CV上大放异彩。基于Transformer的模型在大量CV任务上已经比肩甚至超过基于卷积的模型。
Transformer 与 ConvNet 比较:Transformer 相比于 ConvNet 的一个显著的特点是:它们在对于空间(时间)维度的操作是不同的。

  • ConvNet:卷积核在空间维度上执行卷积操作,因此空间内不同位置的特征通过卷积(可学习的)操作融合信息, 且只在局部区域融合。
  • Transformer:空间(时间)维度内不同位置的特征通过 Attention(非学习的)操作融合信息,且在全局上融合。

Transformer在特征融合时非学习的策略使得其很容易的通过增加额外的 feature 来扩展模型

2. NLP中基于Prompt的fine-tune

  • Prefix-Tuning
  • Prompt-Tuning
  • P-Tuning
  • P-Tuning-v2

3. CV中基于Prompt的fint-tune

1. 分类

Visual Prompt Tuning
Visual Prompt Tuning
目前调整预训练模型的工作方式包括更新所有骨干参数,即全面微调(full fine-tuning)。本文介绍了Visual Prompt Tuning(VPT),它是视觉中大型Transformer模型full fine-tuning的一种有效替代方案。VPT从有效调整大型语言模型的最新进展中获得灵感,在输入空间中只引入少量(不到模型参数的1%)可训练参数,同时保持模型主干冻结。通过对各种下游识别任务的大量实验,表明,与其他参数有效的调优协议相比,VPT实现了显著的性能提升。最重要的是,在许多情况下,在模型容量和训练数据规模方面,VPT甚至优于完全微调,同时降低了每个任务的存储成本。

论文地址:https://arxiv.org/abs/2203.12119
VPT vs other transfer learning methods
Overview of our proposed VPT
给定一个预先训练好的Transformer,在Embed层后的输入空间引入一组d维的p个连续embedding,即prompts。在微调过程中,只有prompts会被更新,主干将会冻结,根据加入prompts的层的数量分为VPT-shallow和VPT-deep。
(1)VPT-Shallow:Prompts仅插入第一层。每一个prompt token都是一个可学习的d维参数。shallow-prompted ViT表示如下:
VPT-Shallow
(2)VPT-Deep:Prompt被插入到每一个Transformer layer的输入空间。deep-prompted ViT表示如下:
VPT-Deep
Table1

2. 持续学习

Learning to Prompt for Continue Learning
Learning to Prompt for Continual Learning
持续学习背后的主流范式是将模型参数调整到非平稳数据分布中灾难性遗忘是核心挑战。典型的方法依赖于测试时间的彩排缓冲区或已知的任务标识来检索学习的知识和地址遗忘,而这项工作为持续学习提供了新的范式,旨在训练更简洁的记忆系统而不在测试时间访问任务身份。我们的方法学会了动态提示dynamically prompt(L2P)一个预训练的模型,以在不同的任务转换下依次学习任务。在我们提出的框架中,提示是小的可学习参数,可维持在记忆空间中。目的是优化提示,以指导模型预测,并在维持模型可塑性的同时明确管理任务不变和特定于任务的知识。我们在流行的图像分类基准下进行全面的实验,并具有不同的挑战性持续学习设置,其中L2P始终优于先前的最新方法。令人惊讶的是,L2P即使没有排练缓冲液,也可以针对基于排练的方法取得竞争成果,并且直接适用于挑战性的任务无关持续学习。

论文地址:https://doi.org/10.48550/arXiv.2112.08654
代码地址:https://github.com/google-research/l2p

引入一个 prompt pool,对每个 input,从 pool 中取出与其最近的 N 个 prompts 加入 image tokens。input 和 prompts 距离的度量通过计算 input feature 和每个 prompt 的 key 的距离来得到,这些 key 通过梯度随分类目标一起优化。
L2P
Continue Learning
注意,最后使用 prompt 来分类。

3. 多模态模型

1. Vision-Language Model: Context Optimization (CoOp)

CoOp
大预训练视觉-语言模型(如CLIP)学得的表征可以迁移到广泛的下游任务上,展现出了巨大的潜力。不同于传统的从离散的标签中进行表征学习,视觉-语言预训练在一个共同的特征空间中对齐图像和文本,这样就可以通过prompting的方式实现下游任务的zero-shot transfer,比我们可以通过语言来描述物体而获取分类的权重。这篇文章展示了在实际应用中prompt engineering(提示工程)存在很大的挑战,因为提示工程往往需要专业知识并且很耗时间去设计。作者受到NLP中的prompt learning的启发,提出Context Optimization(CoOp)。CoOp是一个将CLIP之类的视觉-语言预训练模型适应到下游任务上的方法。具体地,CoOp用可学的向量来model prompt中的单词,而整个过程中预训练模型的参数都是固定的。为了解决不同的图像识别任务,作者提供了CoOp的两种实现:unified contextclass-specific context。作者在11个下游任务上验证CoOp的有效性,结果显示CoOp的性能明显好于原始预训练模型如CLIP。

论文地址:https://arxiv.org/abs/2109.01134

多模态学习的预训练模型。比如CLIP,通过对比学习对齐文本和图像的特征空间,如下图所示:
CLIP
在CLIP在zero-shot预测中,text encoder输入的text是固定的,如“A photo of a {object}.”。而在CoOp中,输入的text是learnable,随着在下游任务的few-shot样本而更新。

选择不同的文本 prompt 对于精度影响较大。一张图其实可能有多种描述,比如一张猫的图像可能的描述:“一个猫。”,“一张猫的照片。”,“这是一只猫。”等。其实CLIP原文中,其作者发现了这个问题,并且发现prompt对预测性能的影响还挺大,于是还做了prompt ensembling。CoOp其实就是为了研究这个问题,就是说我们能不能不要手工设计prompt了,直接learn一个最优的prompt?
Prompt engineering vs Context Optimization (CoOp)
Prompt engineering vs Context Optimization (CoOp)

把人工设定的 prompt 替换为 learnable 的 prompt

  • [CLASS]放在后面
    CLASS放在后面
  • [CLASS] 放在中间:
    class放在中间
    Prompt 可以在不同类之间公用,也可以为每个类使用不同的 prompts(对于细粒度分类任务更有效)。CoOp考虑了两种learnable prompt,第一种是unified context,也就是不管样本是什么类别,其learnable context都是一样的,而第二种则是class-specific context,也就是每个类别都有自己特有的learnable context
    Learning to Prompt for Vision-Language Model
    CoOp先在四个数据集上做实验,发现更合理的prompt能够大幅度的提升分类精度尤其是使用了本文提出的CoOp之后,最终的分类精度远超CLIP人为设计的prompt。
    Learning to Prompt for Vision-Language Model
    Learning to Prompt for Vision-Language Model

2. Conditional Prompt Learning for Vision-Language Models

Conditional Prompt Learning for Vision-Language Models
随着大规模视觉-语言预训练模型如CLIP展现出的强大表征能力,如何有效地将这些预训练模型adapt到下游任务上变得至关重要。近期的工作CoOp将NLP中的prompt learning的概念初次引入到CV领域以更好地将上述预训练模型adapt到下游任务上CoOp将原本CLIP中的手动设定的propmt变成learnable vectors,然后只需要借助few-shot labeled images就能带来很大的性能提升。但作者发现CoOp也同时存在一个问题:CoOp中learned context的泛化性不够好,很难泛化到同一个数据集内的unseen classes,这就意味着CoOp在训练时overfit到了base classes上。为了解决此问题,作者提出Conditional Context Optimization (CoCoOp)。CoCoOp在CoOp基础之上引入一个轻量级的神经网络为每张图像生成input-conditional tokens (vectors),这些tokens会加上原本CoOp中的learnable vectors上。相比CoOp中静态的prompt,CoCoOP这种动态的prompt是instance-adaptive的,对于class shift更加鲁棒。实验表明对于unseen class,CoCoOp的泛化性比CoOp好,甚至还展示了有潜力的单数据集迁移性。
论文地址:https://arxiv.org/abs/2203.05557

CoOp 在泛化到新的类别上时性能不好。
To learn generalizable prompts
To learn generalizable prompts
所以把 prompt 设计为instance-conditional 的。
To learn generalizable prompts
相比于CoOp, CoCoOp增加了一个轻量级的网络(Meta-Net) h θ ( ⋅ ) h_\theta(\cdot) hθ(),Meta-Net的输入是image feature x x x,输出则是一个instance-conditional token π \pi π,然后再在每个context token v m v_m vm上加上 π \pi π。也就是为 prompt 加上一个跟当前图像相关的特征以提高泛化性能。具体来说,先用 Image Encoder 计算当前图像的 feature,然后通过一个 Meta-Net 把 feature 映射到 prompt 的特征空间,加到 prompt 上面

实验使用的11个数据集和CoOp中的一致。
To learn generalizable prompts

4. 域适应

Domain Adaptation via Prompt Learning

Domain Adaptation via Prompt Learning
无监督域适应 (UDA) 旨在将从注释良好的源域学习的模型适应目标域,其中只给出未标记的样本。当前的 UDA 方法通过对齐源和目标特征空间来学习域不变特征。这种对齐是由诸如统计差异最小化或对抗训练等约束所施加的。然而,这些约束可能导致语义特征结构的扭曲和类别可辨别性的丧失。在本文中,我们介绍了一种新颖的 UDA Prompt学习范式,名为Domain Adaptation via Prompt Learning(DAPL)。与之前的工作相比,我们的方法利用了预训练的视觉语言模型,并且只优化了很少的参数。主要思想是将域信息嵌入到prompt中,这是一种由自然语言生成的表示形式,然后用于执行分类。该域信息仅由来自同一域的图像共享,从而根据每个域动态调整分类器
论文地址:https://arxiv.org/abs/2202.06687

(1)用prompt来标识 domain 的信息。
Example prompt structure
(2)通过对比学习解耦 representation 中的 class 和 domain 的表示。
对比学习
Domain Adaptation via Prompt Learning
通过采用这种范式,我们表明我们的模型不仅在几个跨域基准测试上优于以前的方法,而且训练效率高且易于实现。

内容来源

  1. 一文详解Prompt学习和微调(Prompt Learning & Prompt Tuning)
  2. 《Visual Prompt Tuning》视觉prompt
  3. 深入浅出提示学习思想要旨 及 常用Prompt方法
  4. Prompt—从CLIP到CoOp,Visual-Language Model新范式
  5. CoOp: Learning to Prompt for Vision-Language Models
  6. CoCoOp: Conditional Prompt Learning for Vision-Language Models

参考文献

[1] Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing. Pengfei Liu, Weizhe Yuan, Jinlan Fu, Zhengbao Jiang, Hiroaki Hayashi, Graham Neubig. In arXiv 2021 https://arxiv.org/abs/2107.13586
[2] How transferable are features in deep neural networks? Jason Yosinski, Jeff Clune, Yoshua Bengio, Hod Lipson. In NeruIPS 2014 https://proceedings.neurips.cc/paper/2014/hash/375c71349b295fbe2dcdca9206f20a06-Abstract.html
[3] Masked autoencoders are scalable vision learners. Kaiming He, Xinlei Chen, Saining Xie, Yanghao Li, Piotr Dollár, Ross Girshick. In arXiv 2021 https://arxiv.org/abs/2111.06377
[4] Side-tuning: a baseline for network adaptation via additive side networks. Jeffrey O. Zhang, Alexander Sax, Amir Zamir, Leonidas Guibas, Jitendra Malik. In ECCV 2020 https://link.springer.com/chapter/10.1007/978-3-030-58580-8_41
[5] Bitfit: Simple parameter-efficient fine-tuning for transformer-based masked language-models.Elad Ben Zaken, Shauli Ravfogel, Yoav Goldberg. In ACL 2022 https://arxiv.org/abs/2106.10199
[6] TinyTL: Reduce memory, not parameters for efficient on-device learning. Han Cai, Chuang Gan, Ligeng Zhu, Song Han. In NeurIPS 2020 https://proceedings.neurips.cc/paper/2020/hash/81f7acabd411274fcf65ce2070ed568a-Abstract.html
[7] Parameter-efficient transfer learning for nlp. Neil Houlsby, Andrei Giurgiu, Stanislaw Jastrzebski, Bruna Morrone, Quentin De Laroussilhe, Andrea Gesmundo, Mona Attariyan, Sylvain Gelly. In ICML 2019 http://proceedings.mlr.press/v97/houlsby19a.html
[8] Visual Prompt Tuning. Menglin Jia, Luming Tang, Bor-Chun Chen, Claire Cardie, Serge Belongie, Bharath Hariharan, Ser-Nam Lim. In arXiv 2022 https://arxiv.org/abs/2203.12119
[9] Learning to Prompt for Continual Learning. Zifeng Wang, Zizhao Zhang, Chen-Yu Lee, Han Zhang, Ruoxi Sun, Xiaoqi Ren, Guolong Su, Vincent Perot, Jennifer Dy, Tomas Pfister. In CVPR 2022 https://arxiv.org/abs/2112.08654
[10] Learning to Prompt for Vision-Language Models. Kaiyang Zhou, Jingkang Yang, Chen Change Loy, Ziwei Liu. In arXiv 2021 https://arxiv.org/abs/2109.01134
[11] Conditional Prompt Learning for Vision-Language Models. Kaiyang Zhou, Jingkang Yang, Chen Change Loy, Ziwei Liu. In CVPR 2022 https://arxiv.org/abs/2203.05557
[12] Domain Adaptation via Prompt Learning. Chunjiang Ge, Rui Huang, Mixue Xie, Zihang Lai, Shiji Song, Shuang Li, Gao Huang. In arXiv 2022 https://arxiv.org/abs/2202.06687

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/12306.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

行业报告 | 2022文化科技十大前沿应用趋势(上)

文 | BFT机器人 前言 Introduction 文化科技是文化科技融合过程中诞生的系列新技术成果,是文化强国和科技强国两大战略的交又领域。2012 年 8月,科技部会同中宣部、财政部、文化部、广电总局、新闻出版总署发布《文化科技创新工程纲要》,开启…

灵活利用ChatAI,帮助你编写文章/故事,提高创作

前言 ChatAI 对于编写文章/故事提供了广泛且有益的帮助。它可以激发灵感、提供背景知识、检查错误并提供实时反馈等功能,在创作过程中起到了重要辅助作用。然而,在使用过程中需要保持适度,并将其视为一个有益工具而非完全取代人类创作的替代…

26岁财富自由,30岁已经历成功人士的一生,OpenAI掌门人的36条人生经验

Altman30岁就经历了成功人士的一生:程序员、创始人、投资人、CEO、慈善家。 编辑丨沃特敦 OpenAI掌门人Sam Altman是美国现在最炙手可热的企业家。上周,Altman刚刚度过38岁生日。今天分享的是他30岁时总结的人生经验。那时,Altman已经是硅谷最具人气的创投明星,年纪轻轻就能…

chatgpt赋能python:Python整人代码:开发有趣的恶作剧工具

Python整人代码:开发有趣的恶作剧工具 Python是一种高级编程语言,它有着众多功能库和API,能够用于各种不同的领域。但是,Python也可以用来编写有趣的恶作剧代码,搞乐一下!在这篇文章中,我们将介…

ChatGPT成精了!

最近几天,朋友圈、公众号都被 ChatGPT 刷屏了。 更有不少标题党吹嘘 “谷歌要完,百度也危了”。 那么它到底有没有网上吹的这么神奇呢? 我亲测了一把,感觉确实非常惊艳! 例如: 看着还不错,每…

学习笔记--肯德基餐厅信息查询

方法一:借助工具 import requests import json url"http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?opkeyword" wordinput(请输入查找的地区:) headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (K…

肯德基餐厅位置查询

肯德基餐厅查询: 肯德基餐厅查询: urlhttp://www.kfc.com.cn/kfccda/storelist/index.aspx 1.分析: -数据为动态加载数据(输入城市关键字查询之后,url并没有改变,说明数据是动态加载出来的) -通…

(产品分析)KFC肯德基APP分析报告

目录 一、市场分析 二、用户需求 三、产品概述 四、信息架构 五、交互流程 六、页面设计 总结 一、市场分析 2018沃指数 O2O的移动外卖已经成为大众点餐的主要方式之一,满足了用户足不出户就能享受美食的需求,作为传统快餐文化的领头羊&#xff0…

肯德基宅急送网上订餐系统(移动扫码点餐)的设计与实现(小程序+PHP+MySQL)

目 录 第1章 绪论 1 1.1研究背景及意义 1 1.2研究现状 1 1.3章节安排 2 第2章 关键性技术介绍 3 2.1 PHP 3 2.2 JSON 4 2.3 XML 5 2.4 HTML 5 2.5 Mysql介绍 6 第3章 需求分析 7 3.1系统业务流程分析 7 3.2 功能需求分析 8 3.3用例分析 10 3.3.1领域类图 10 3.3.2系统用例 14 3…

肯德基餐厅信息查询

肯德基餐厅信息查询网页 打开网页之后,在查询框中输入北京,然后点击查询,发现地址栏之中的url信息并没有发生变化,所以这里使用的是阿贾克斯查询动态渲染的方式。 这里面返回的内容为Content-Type:text/plain,也就是返…

自动化测试技术分享 | 敏捷开发、瀑布与迭代模型的项目应用分析

以下为作者观点: “敏捷”、“瀑布”、“迭代”是目前开发模式描述中应用比较多的词汇。那么,这些词汇有什么概念差异呢?别急,这就来为大家一一解惑。 首先瀑布模型、迭代模型都属于软件开发生命周期(SDLC&#xff09…

第3章信息系统治理

信息系统治理(IT治理)是组织开展信息技术及其应用活动的重要管控手段,也是组织治理的重要组成部分,尤其在以数字化发展为重要关注点的新时代,组织的数字化转型和组织建设过程中,IT治理起到重要的统筹、评估、指导和监督作用。信息…

第4章信息系统管理

在信息技术和数据资源要素的推动下,社会各领域已经并正在加速进入数字化的全新发展时期,基于智能、网络和大数据的新经济业态正在形成,从"数字融合"向"数字原生"的发展是这个时期的主要特征,表现为信息技术和…

Meta版ChatGPT惨遭“开源”?最新大模型LLaMA被泄露,已在GitHub收获7k+星

1、Meta 全新大语言模型 LLaMA 正通过种子公开发放 2 月 24 日,Meta 公司发布了新的大模型系列 —— LLaMA(Large Language Model Meta AI)。Meta 宣称,LLaMA 规模仅为竞争对手 ChatGPT 的“十分之一”,但性能却优于…

GPT-4满分第一名通过大厂模拟面试!微软154页研究刷屏:与AGI的第一次接触

“GPT-4可被视作AGI (通用人工智能)的早期版本。” 若是一般人说这话,很可能会被嗤之以鼻—— 但微软雷蒙德研究院机器学习理论组负责人万引大神Sbastien Bubeck联手2023新视野数学奖得主Ronen Eldan、2023新晋斯隆研究奖得主李远志、2020斯…

致全体用户的一封信:关于Beezy,关于未来!

本篇面向大众,尽量将技术性事实通过简单语言输出,必然会出现不完全准确的地方,请AI从业人士谅解。 LLM(语⾔⼤模型)是Beezy诞⽣的基础, 在以ChatGPT为代表的现象级产品的催⽣中, 全世界都快速地…

LLM-20230225:LLaMA(大羊驼)【参数量: 70 亿、130 亿、330 亿、650 亿】【旨在推动 LLM 领域的小型化、平民化研究】【Meta】

Meta AI 同时在其官方发布了论文《LLaMA: Open and Efficient Foundation Language Models》 源码:https://github.com/facebookresearch/llama论文:https://research.facebook.com/file/1574548786327032/LLaMA--Open-and-Efficient-Foundation-Language-Models.pdf官方代码…

便捷记账: Siri +IOS ShortCut + ChatGPT + NotionAPI

使用 Notion API 新增 Notion 表格数据 获取 Notion API 访问令牌 登录 Notion 并创建一个 integrations(Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.) 点击 New Integration 点击Submit 获取访问令牌&…

如何拥抱ChatGPT,GPT-4,其实有捷径!

亲爱的朋友们,相信大家都已经知晓了ChatGPT的伟大之处了吧!但是您们可能又苦于没有方便的获取之法,不过不用急,因为我今天就要介绍一个好东西给大家! 如下图所示,这是一个谷歌插件,非常实用的C…

ChatGPT评中国最好的十大高校

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【计算机视觉】微信技术交流群 转载自:学术志 | 来源:硕博生活圈、综合整理自网络 ChatGPT大家想必已经知道是什么了,那么在ChatGPT眼中中…