近几年 AI大模型 是非常的火啊! 我一个做 web开发的程序员,也是非常的好奇,大模型到底长什么样子。而且大家都说 python 做大模型 是非常的方便。 我最近通过查阅资料和学习。学习到了怎么通过python 来调用大模型。这篇文章 就以翻译大模型为例,来介绍一下 怎么让大模型 运用到我们的项目中。
释:分享的内容都是本人自己自学摸索出来的,分享的知识是自己的一些理解。文章内容有些知识点分享的有偏差,懂技术的大佬 也可以留言普及一下,非常感谢!共同学习进步~ 嘿嘿!
分享两个概念 :
Transformer(模型架构) 和 TensorFlow(深度学习框架)
Transformer:
Transformer 是一种神经网络架构,最初由 Vaswani 等人于 2017 年提出,用于自然语言处理(NLP)任务。它是一种 序列到序列(Sequence-to-Sequence)模型,特别适用于处理长文本数据。
给我的感觉这个东西 可以模仿人类大脑一样学习。
TensorFlow
TensorFlow 是一个开源的 深度学习框架,由 Google 开发。它用于构建、训练和部署机器学习模型,支持多种类型的神经网络,包括但不限于卷积神经网络(CNN)、循环神经网络(RNN)和 Transformer 模型。
这个东西 是一个框架,对于框架 对于程序员 应该不陌生把,像我们做web开发的,基本上都用过各种各样的 web框架 比如 java 的 springboot php 的 thinkphp python 的 fastApi 等等。
Transformer 和 TensorFlow 的关系:
Transformer 是一种模型架构,而 TensorFlow 是一个框架。你可以使用 TensorFlow 来实现 Transformer 模型。也就是说,TensorFlow 提供了构建、训练和部署 Transformer 等模型所需的工具和功能。
我在了解的时候 有很多知识都看不懂,也是要加强学习,以后慢慢学习的。但是 对于 我这种实战性程序员来说,理论知识可以慢慢学习理解,但是 代码必须先撸起来!
为什么 大家都会使用python 来做 大模型呢?
经过我的查询资料 我发现 支持 Transformer 这个 技术的框架 或者说是编程语言,使用起来最方便的 就是C++ 和python 。大家可以去 github上搜索一下 你会发现 只要是关于神经网络的 源码基本上都是 c++和python ! 这应该跟发明这些技术的人有关了。
我猜测他们在发明这些技术的时候 喜欢用 c++ 和python 或者是这两个语言 对于处理 这种数据 有更好的 优势。 我也去百度了 java 或者是 php 这类语言 有没有相对应的 依赖 是有,但是好像不是很强大,所以我也没有去尝试过 。也是直接使用python 来进行学习了。
为什么python 对于AI大模型用的多呢?
这应该就知道拉,对于一部分程序员来说 c++ 学习成本大,上手难度高,反而对于 python 这个语言,程序员们 上手起来 就轻松的多了。尤其是做过别的语言开发的程序员,也许看一些python的知识,就可以上手写代码了。
那大模型 到底是一个什么东西呢?
看截图:
下面的这个 就是别人训练好的 开源大模型。训练好的大模型,就是一堆文件,我们通过程序可以调用这些文件 从而得到我们想要的结果。
**开源大模型:**一些无私的大佬们 训练好的 大模型开源出来,共大家学习使用。
就像github 这种网站一样。大佬们都会分享一些非常好的 开源 项目 让我们 学习使用。
所以 对于大模型 也是有类型网站的。
我们国内 比如 百度的 飞桨PaddlePaddle
https://www.paddlepaddle.org.cn/
模型库: 就是 别人训练好的 大模型 ,开源出来,我们可以下载下来 自己使用。
数据集:因为我们训练大模型 是需要给他 喂数据的,所以我们需要大量的数据,这些数据哪里来呢?要么就是花钱买,要么就是自己搜集。但是就是有些无私奉献的兄弟们,把自己收集的数据集 分享出来,大家都可以拿来训练自己的大模型。 还是非常方便的。
必须为他们点个赞了!!!
接下来 根据我的体会 我形容一下 大模型给我的感觉!
就是 有人发明了一个 Transformer 神经网络 能像人大脑学习的一个 技术。
然后 我们通过 编程语言 来对这个技术进行使用。
比如 我现在需要一个 精通中国歌曲的AI机器人。
这个时候 我们就可以使用 【TensorFlow 深度学习框架】 来 训练一个 歌曲AI大模型。
我们就开始收集各种各样的歌曲 然后 通过这个框架 来进行 训练,最后训练完成,我们就会得到一个像上面截图的 一堆文件。就像我们人类大脑的记忆一样存放到我们的脑海里,我们可以通过我们的大脑 进行回忆。
同样 我们使用TensorFlow 训练出来的这些文件 就是记忆 把这些记忆存放到了磁盘里。 但是我们人的记忆 是不能复制给别人的,但是我们训练出来的大模型,他们是以文件数据的形式 存储在磁盘中。这个时候训练好的这个大模型,就可以被复制使用。
如果你需要 歌曲AI大模型 就把这些文件给你 他需要就给他。然后大家 自己通过python 语言 来调用这些文件。就可以 瞬间有很多 歌曲AI机器人啦。 这就是目前我对于这种AI大模型的一种体会。
上面说的这些例子,如果你想自己 从0 到 1 训练一个自己的大模型,我觉得是需要非常的多的 关于大模型的 知识的。而且大模型 对于硬件的要求 确实很高。显卡非常的重要,显卡会提供 大模型的 速度。像我只是简单的调用 大模型 发现没有 显卡的电脑,光靠cpu 就会非常慢。
所以 对于大模型的训练 包括部署一个自己的 大模型,对于硬件的要求 是很高的。 如果 商用的话,自己公司部署这种 本地化大模型 我觉得成本也是很大的。
对于普通程序员 我们可以做些什么呢?
对于我来说,我目前主要的 学习方向就是 利用 开源的大模型,然后开发一些软件 来使用。
我觉得这个 对于 AI大模型新手来说 还是比较简单的。
对于大模型 底层 或者 实现原理 对于我 这种普通程序员来说 难度系数肯定是有点高了。但是我 觉得我们可以去做一些 大模型调用,大模型调参,让大模型 运用到我们的 目前的软件中。我们可以去学习 怎么使用大模型,怎么利用大模型来做一些产品! 我觉得也是可以的~ 嘿嘿
体会就分享到这里。
最后我 分享一个 我使用 本地大模型 简单实现了一个 本地翻译的web 网页。
python 环境的使用 我以前分享过一篇博客 有兴趣的 可以去看一下。
https://blog.csdn.net/Drug_/article/details/143465295
python 版本:Python 3.8.20
展示效果:
目录结构:
代码如下!
代码 建议 学习使用~。
运行此项目要有python编程基础!!!
代码内置的 翻译大模型 不保证 翻译的准确性。
内置翻译大模型 支持:
中文翻译英文
英文翻译中文
资源获取 不免费噢~
https://wwwoop.com/home/Index/projectInfo?goodsId=38&typeParam=2