你是否还在用压缩包打包你的代码,然后在新的机器重新安装软件,配置你的环境,才能跑起来?
特别有这样的情况:诶,在我电脑跑的好好的,怎么这里这么多问题?
当项目比较简单的时候,装个Mysql、Nodejs、Anaconda并不是难事,但如果你的环境更多,新机器更多,你还一个个配置,估计你会疯掉。
还有就是最恶心的深度学习环境,配置Cuda,Cudnn,Pytorch,TensorFlow,Opencv,GDAL就花一天时间,打开百度,弹出来各种各样的教程,为了解决各种Bug眼睛都看花了,找不到一个可以解决你的问题的。
还有前端项目,经常会遇到的Node-Sass缺少Python依赖,还有Nodejs版本问题(狗头)
那么是否有一个东西可以一键部署,不用这么麻烦配置一堆东西的解决方案呢?
Docker!!!Of course!!!
本期就教大家如何用Docker快速,配置最恶心的深度学习环境。考虑大多数人用的是windows,本教程将以win10作为系统进行展开。 Lets GO!!!!!!
前言
Docker是什么?你看Docker的图标就知道了,一个鲸鱼承载了所有的仓库,所有的代码、程序、软件都在Dcoker。
我们抛开Dcoker,先介绍一下两个名字,你一定听过:容器,镜像
容器可以说是一个Linux轻量级的系统,它提供了一种隔离的环境,使得应用程序能够在其中运行,而不受主机系统的影响。
镜像是一个轻量级、独立、可执行的软件包,包含运行应用程序所需的所有内容。
镜像相当于设计稿,Docker根据它可以创建一模一样的产品(容器)。
镜像是容器的基础,我们可以根据已有的镜像A创建自己的容器Container_A,因为容器是个简易系统,我们可以肆意安装东西,再把我们的容器Container_A变成镜像B,别人可以通过我们镜像B创建新的容器Container_B,在这个容器中就复现一模一样的效果啦!
而Docker说白了就是利用容器技术,将应用程序及其依赖项打包到一个系统(容器)中,使得在任何环境中以相同的方式运行,仅此而已。
而有了Docker我们只需要,找到对应的母鸡(镜像),下个蛋(容器)就行。
配置深度学习环境?我才不配!我直接用别人的镜像生成一个容器就行了啊! 你又不是不知道cuda下的多慢,cudnn还要登录!
Docker和虚拟机
那么问题来了,我知道Docker了,那是不是和虚拟机很像啊?我只能说一个鸡蛋一个恐龙蛋。
虚拟机是将一台机器转换为多台机器的物理层的抽象。每个虚拟机都是包含操作系统、应用程序、必要的二进制文件和库的完整副本。
可以看下图右边就是虚拟机架构,每个虚拟机都有自己的系统,而Docker(左)架构,是应用层的抽象,多个容器与其他容器共享一个操作系统内核,这样占用的资源比虚拟机少很多。
光速配置
废话少说,Docker,启动!
安装docker
直接去Docker官网下载exe文件执行就行,Docker非常人性化,不需要你设置安装目录,直接给你装c盘,嘻嘻。
运行Docker,如果你第一次安装,会提示你 WSL 2 installation is incomplete.
这说明我们还需要安装Windows的子系统WSL
安装wsl
Windows Subsystem for Linux(WSL),是适用于Linux的Windows子系统,通过WSL我们可以在Windows里面运行Linux。 CMD命令行运行:
css
wsl --install
为了让window支持我们的Linux,控制面板检查一下WSL是否勾选了:
重启电脑!!!
安装Ubuntu(可略)
这下可以安装Linux咯,可以根据自己需要选择Ubuntu版本,打开微软商店下载即可
重启电脑后,可以在Docker设置里集成我们的Linux版本
配置Docker
电脑资源都是有限的,不可能都给Docker,因此需要给Docker分配一下资源上限。 在用户目录(比如:C:\Users\lc)下建立一个新文件,叫做.wslconfig,复制以下内容,给Docker设置它的最大运行内存,CPU核心数
ini
[wsl2]
#wsl占用内存
memory=8GB
#交换分区内存(swap类似于Windows的虚拟内存,从硬盘中划分出一个分区,
#在物理内存不够时,就会将硬盘空间虚拟成内存使用,用于解决内存不足的情况。)
swap=8GB
#限制核心数
processors = 6
内存记得别写满,不然卡死,就好给本机留一点,我是16GB的内存,给了Docker一半的容量,也就是Docker再怎么吃内存,不会超过8GB
命令行运行:
arduino
wsl --shutdown
重启Docker生效
寻找镜像
Docker Hub给我们准备了很多好用的镜像,像Pytorch、TensorFlow都准备了自己的镜像,里面配置了cuda、cudnn和python,我们选一个需要的就行。
随便起一个终端CMD运行我们复制的命令,然后打开发现,wow,多了一个镜像!
创建容器
继续起一个终端CMD运行以下命令,最后面就是你刚才下载的镜像名
bash
# 不使用GPU
docker run -it pytorch/pytorch:1.8.0-cuda11.1-cudnn8-runtime
# 使用GPU
docker run -it --gpus all pytorch/pytorch:1.8.0-cuda11.1-cudnn8-runtime
执行以上命令,就会根据镜像创建一个容器,并且进入容器的命令行,此时尽情安装你需要的东西吧。
首先检测一下Pytorch可不可以检查到GPU吧!哇真的可以耶!
可以在Docker看到可视化的容器
在容器里面可以看到文件目录、资源占用、打印等信息:
Vscode
配合Vscode的Docker插件,我们可以直接进入Docker容器里面编程:
发布镜像
随便起一个终端CMD运行命令:
ruby
# 1.容器转镜像
docker commit 【容器名】 【镜像名字:例:myproj】
# 2.镜像打包成压缩包tar文件
docker save -o myproj.tar myproj
引用
总结
写了一堆,希望能帮助你告别深度学习环境配置的烦恼!
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取==🆓