llm-universe Part one
llm-universe Part one
第一部分
大模型开发基本了解
**LLM --(**大语言模型,Large Language Model)
- 开发流程
- LangChain
官方介绍:
LangChain is a framework for developing applications powered by large language models (LLMs).
For these applications, LangChain simplifies the entire application lifecycle:
- Open-source libraries: Build your applications using LangChain's modular building blocks and components. Integrate with hundreds of third-party providers.
- Productionization: Inspect, monitor, and evaluate your apps with LangSmith so that you can constantly optimize and deploy with confidence.
- Deployment: Turn any chain into a REST API with LangServe.
我目前的理解,我们可以利用这个平台,去更快捷和方便的搭建我们的LLm应用
- RAG
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合信息检索与生成式模型的方法,主要用于增强大语言模型(如GPT)的生成能力和准确性。RAG模型由Facebook AI提出,旨在通过将生成模型与检索模型结合,使生成结果更加丰富和准确。
以上是标准解释 -- 主要优势有:
- 增强准确性:通过引用外部检索到的信息,RAG可以在回答问题时提供更准确和具体的答案。
- 知识丰富度:生成模型不再仅依赖于预训练时学习到的知识,还可以动态地访问最新和更广泛的知识库。
- 减少幻觉(Hallucination):生成模型单独使用时可能会生成不准确或虚构的内容,而通过检索相关信息,可以减少这种现象的发生。
这里我查询和了解了大模型的这个幻觉:
大模型的幻觉(Hallucination)是指生成式模型在生成文本时产生的不准确或虚构内容的现象。这种现象在大语言模型中较为常见,特别是在处理没有明确答案的问题或在生成涉及具体事实的内容时。
这里举一个我看到的例子:
问题:请问亚历山大·弗莱明是什么时候发明青霉素的?
正确答案
亚历山大·弗莱明在1928年发现了青霉素。
模型生成的幻觉示例
亚历山大·弗莱明在1935年发明了青霉素,这一发现极大地推动了抗生素的发展。青霉素首次用于临床是在1941年,拯救了许多在二战期间受伤的士兵。
这个时间并不准确,模型在输出结果的时候产生了幻觉.
阿里云服务器部署与配置
在阿里云上购买了一台基本服务器
**基本规格: **2核2GB 的服务器
操作系统: Ubuntu 22.04 64位 UEFI版
在vscode上连接服务器
- 下载扩展 ---- “Remote -SSH”
- 连接
ssh root@my_ip
- Linux - 输入密码
成功在vscode上连接
- 其他:
为了方便我在 xshell 上也连接了这台阿里云服务器
codespace:
**这里也是注册和搭建好了一个 **codespace
环境配置:
ssh介绍
SSH(Secure Shell 的缩写)是一种网络协议,用于加密两台计算机之间的通信,并且支持各种身份验证机制。
生成ssh密钥
ssh key ssh-keygen -t rsa -C "youremail@example.com"
ssh-keygen
: 这是一个用于创建新的 SSH 密钥对的命令。
-t rsa
: 这个参数指定要生成的密钥类型为 RSA (一种常见的加密算法)。
-C "youremail@example.com"
: 这个参数为生成的密钥添加一个标签 (评论),通常是你的电子邮件地址,以便你可以在多个密钥中识别该密钥。
cat ~/.ssh/id_rsa.pub
将内容复制到GitHub SSH keys 上
配置成功!
安装conda环境
- 安装
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
- 初始化
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh
- 检查conda是否安装成功:
conda --version
**conda成功安装**!
配置和安装conda
conda create -n llm-universe python=3.10
#新建一个conda虚拟环境
conda activate llm-universe
#激活这个环境
- 新建完成:
- 激活完成
- 在我的工作目录下使用git clone项目文件:
git clone git@github.com:datawhalechina/llm-universe.git
- 安装对应软件包
cd llm-universe
#切换到对应目录下
pip install -r requirements.txt
#安装
成功安装!
安装vscode对应插件:
在扩展商店中寻找,这里已经成功安装
- Jupyter Notebook 配置 Python 环境
选择我们之前创建的conda环境
下载NLTK 相关资源
cd /root
#安装在root目录下
git clone https://gitee.com/yzy0612/nltk_data.git --branch gh-pages
#git clone 项目文件
cd nltk_data
mv packages/* ./
cd tokenizers
unzip punkt.zip
cd ../taggers
unzip averaged_perceptron_tagger.zip
下载和解压后即可
完成NLKT的安装!