以下是关于 0 到 1 使用大语言模型的相关内容:
Ollama 框架:
大模型安全:
大模型架构与特点:
1.支持多种大型语言模型:Ollama支持包括通义千问、Llama 2、Mistral和Gemma等在内的多种大型语言模型,这些模型可用于不同的应用场景。2.易于使用:Ollama旨在使用户能够轻松地在本地环境中启动和运行大模型,适用于macOS、Windows和Linux系统,同时支持cpu和gpu。3.模型库:Ollama提供了一个模型库,用户可以从中下载不同的模型。这些模型有不同的参数和大小,以满足不同的需求和硬件条件。Ollama支持的模型库可以通过https://ollama.com/library进行查找。4.自定义模型:用户可以通过简单的步骤自定义模型,例如修改模型的温度参数来调整创造性和连贯性,或者设置特定的系统消息。5.API和集成:Ollama还提供了REST API,用于运行和管理模型,以及与其他应用程序的集成选项。6.社区贡献:Ollama社区贡献丰富,包括多种集成插件和界面,如Web和桌面应用、Telegram机器人、Obsidian插件等。7.总的来说,Ollama是一个为了方便用户在本地运行和管理大型语言模型而设计的框架,具有良好的可扩展性和多样的使用场景。后面在捏Bot的过程中需要使用Ollama,我们需要先安装,访问以下链接进行下载安装。https://ollama.com/download/安装完之后,确保ollama后台服务已启动(在mac上启动ollama应用程序即可,在linux上可以通过ollama serve启动)。我们可以通过ollama list进行确认,当我们还没下载模型的时候,正常会显示空:可以通过ollama命令下载模型,目前,我下载了4个模型:几个模型简介如下:
这张图来自于OpenAI()于2022年发布的论文,正是这篇论文造就了我们所熟知的ChatGPT。通过对齐,也叫做指令调优,使得语言模型更好的理解人类意图,同时也对语言模型增加了安全保障,确保语言模型不会输出有害的内容和信息。对于对齐任务来说,我们可以拆解为两部分第一个部分是图中的Step-1.监督微调第二个部分则是图中的二和三,通过Step2获取reward model与通过Step3进行强化学习,调整语言模型的输出分布。这两种方法都能用于保证语言模型的安全LLAMA2()是当前使用最广泛的开源大型语言模型,在其技术报告中提到他们专门使用了安全有监督微调用于确保语言模型的安全.通过给定危险的问题和拒绝的回答,语言模型就像背诵一样,学会了对危险的查询生成拒绝的响应强化学习通过引入带有人类反馈的数据对模型进行强化学习,根据人类的偏好和反馈,语言模型在调整分布的过程中,需要更细粒度的思考,究竟什么样的答案是更好的,更安全的.并且由于引入了类似思考的过程,语言模型在面对训练分布外的数据,也有可能学会举一反三的拒绝掉不该回答的内容,更少的胡编乱造,产生幻觉性的输出那么Alignment就足够防护所有的安全问题了吗?毕竟现在的大型语言模型如GPT-4和Claude()等已经几乎不会回复危险的问题了.不,并不安全,就像测试工程师经常苦恼的问题一样,用户们的创造力是无穷的.,他们会用各种各样难以想象的方法试图得到他们想要的”不受束缚的”AI这种技术被统称为越狱,Jailbreak!通过Jailbreak,模型的对齐基本失效,重新变为一个回答各种问题的模型关于越狱部分,我将在文章的后半部分中专门详细讲解。在这里,我们先来讲讲隐私问题。
encoder-only:这些模型通常适用于可以自然语言理解任务,例如分类和情感分析.最知名的代表模型是BERTencoder-decoder:此类模型同时结合了Transformer架构的encoder和decoder来理解和生成内容。该架构的一些用例包括翻译和摘要。encoder-decoder的代表是google的T5decoder-only:此类模型更擅长自然语言生成任务。典型使用包括故事写作和博客生成。这也是我们现在所熟知的众多AI助手的结构我们目前耳熟能详的AI助手基本都来自左侧的灰色分支,当然也包括ChatGPT。这些架构都是根据谷歌2017年发布的论文“attention is all you need”中提出的transformer衍生而来的,在transformer中,包括Encoder,Decoder两个结构目前的大型语言模型就是右侧只使用Decoder的Decoder-only架构的模型大模型又大在哪呢?第一,大模型的预训练数据非常大,这些数据往往来自于互联网上,包括论文,代码,以及可进行爬取的公开网页等等,一般来说,现在最先进的大模型一般都是用TB级别的数据进行预训练。第二,参数非常多,Open在2020年发布的GPT-3就已经达到170B的参数在GPT3中,模型可以根据用户输入的任务描述,或给出详细的例子,完成任务但这与我们熟知的ChatGPT仍然有着很大的差距,使用ChatGPT只需要像和人类一样对话,就可以完成任务。除了形式上的不同之外,还有一个更加重要的差距,那就是安全性上的差别。