搭个ChatGPT算法模型,离Java程序员有多远?

除了大家都想体验一下这款智能的 ChatGPT AI,也有很多互联网公司开始搭建自己的 ChatGPT,但真的挺担心最后整出来的不是 ChatGPT 而是 ChatPPT。为此我也想研究下 ChatGPT 是怎么做出来的,都说是模型和数据训练,那我能训练吗🤔?这东西离我想做个 demo 出来有多远?

一、技术调研,很激动

当我开始往算法模型训练里踏进一脚👣,漏个门缝检索点相关学习资料和案例代码,发现这个世界太庞大了。早在4年前,GPT-2 就已经发布了 openai 开源代码 https://github.com/openai/gpt-2 也就是说我们就可以拿 GPT-2 的开源代码训练一个模型,哪怕是训练出个傻子,也应该比“xxx,我在,你说。”要更智能一些🤔

接着检索我发现了,早在2年前有人已经基于 GPT-2 训练一版 GPT2 for Chinese chitchat/用于中文闲聊的GPT2模型。开源代码:https://github.com/yangjianxin1/GPT2-chitchat

不知道在做的兄弟们👬🏻你们激动不,看到这我是挺开心😄。这不是我想要的 demo 模型吗。把它给训练出来,也就能满足我对 ChatGPT的深入了解了,并且基于我想做的任何类数据训练得到一个个小模型部署,也是可以帮助我来完成一些事情的。如;你把公司的一些文档数据进行训练,得到一份可以搜索检索就能获取相关数据的 ChatGPT 不挺爽吗?

越是检索越是开心,离我的目标也越来越近了。但作为一个量化算法训练的小白,其实我还是希望能找到一份 Java 的模型训练代码,这可以让我操作起来更加顺畅。没错,我找到了,也是3年前就有的一份资料;https://github.com/SimiaCryptus/tf-gpt-2 这是一个基于 Tensorflow 的 GPT-2 文本模型的 Java 库。—— 别着急,这个时候我也不知道 Tensorflow 是啥。

这还说啥,这有pom配置,还有代码案例。引入一下就能跑,上车🚗吧!

好家伙,跑起代码才知道。这货上来就下了1个多G的pb模型数据,之后有报错 Mac M1 兼容性问题。折腾一大堆,最后又报错;Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.2 AVX AVX2 FMA —— 要是你咋整,你再坚持坚持,还是放弃!

二、风浪越大,鱼越贵

本来以为 ChatGPT 嘛、Python 嘛、跑个数据模型吗!这能几道墙阻挡我的去路,不就是换个工具写代码吗?但当我逐步进入后发现,这距离好像比想象的大的多!

想玩 ChatGpt 玩到模型训练,得先进入 Gpt-2 开源代码。基于想自己训练一个小模型,需要使用 TensorFlow 创建生产级机器学习模型。而 TensorFlow 需要在本地安装一系列 Python 工具并下载模型和数据样本。而这里就像安装 JDK 一样,是傻子都会和傻子都不会。Mac M1 天生骄傲,安装了2天,才测试出可以使用的模型训练环境。之后开始跑第一个模型,线性回归。再了解什么是线性回归。

这是 TensorFlow 的官网,用于创建生产级机器学习模型。也就是说想要完成一个简单的 ChatGPT 得从这开始。—— 死鬼,不要在想了,你总是得从 HelloWorld 开始。

但在检索的过程中,我又找到了一个名叫 huggingface.co 的网站;Hugging face 起初是一家总部位于纽约的聊天机器人初创服务商,他们本来打算创业做聊天机器人,然后在 Github上开源了一个 Transformers 库。虽然聊天机器人业务没搞起来,但是他们的这个库在机器学习社区迅速大火起来。目前已经共享了超100,000个预训练模型,10,000个数据集,变成了机器学习界的 Github。

在 Hugging face 社区中可以找到相关的模型训练资源以及提供好的模型使用接口,比如像中文分词、聊天对话、图片分析也都有,当然也包括一些公司训练出来的 gpt-2 模型。

在 Models 中提供了大量的算法模型,你可以把自己需要的模型点个 like 关注起来。同时这些模型还提供好了调用接口,例如【api key 可以在网站申请】;

curl https://api-inference.huggingface.co/models/microsoft/CodeGPT-small-java \-X POST \-d '{"inputs": "Can you please let us know more details about your "}' \-H "Authorization: Bearer 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"

你可以通过接口对模型进行访问,当然这些模型训练的数据并不是很大,只是作为测试使用。不会像 ChatGPT 那么智能的返回你所检索的信息。不过这至少可以让你了解和体验不同模型所带来的数据返回是什么样。

三、环境配置,搞起来

一口不能呲个胖子,为了更好的为以后能训练出一个自己可以玩的小体量的 ChatGPT 模型,总得要从头开始。

这里小傅哥的目标是带着搭建先在本地搭建起一个 TensorFlow 的基础环境,来跑个 Python 的简单算法模型。为此我们需要进行一下环境配置。小傅哥2台机器已验证没问题,分别是 Mac Intel/M1,机器配置4核16G。

1. Python 环境

  • 下载 Python:https://www.python.org/downloads/macos/ 3.6版本以上。一般 Mac 上会带一个 2.x 版本的 Python,这个版本不够用,需要升级下。

  • 配置 Python:

  • 安装 Python 完成后,搜索地址 which python3

  • 打开 vi ~/.bash_profile 文件,写入环境配置 alias python="/Library/Frameworks/Python.framework/Versions/3.10/bin/python3"

  • 生效配置 source .bash_profile

2. pip 指令安装

  • 安装 pip:以下需要用到 pip 指令,如果没有需要安装 curl https://bootstrap.pypa.io/get-pip.py | python3

3. Tensorflow

官网安装指导:https://www.tensorflow.org/install?hl=zh-cn

但这里有个问题,没有说明 Mac M1 怎么安装。如果按照这个代码在 M1 的机器是安装不上的。所以在小傅哥的一顿折腾后找到了对应的按照指令。步骤如下;

  • 下载代码【可选】:https://github.com/fuzhengwei/TensorFlow-Tutorial - 用于后续测试模型训练代码

  • 配置 Visual Studio【你也可以是其他的】,打开以后需要安装 python 插件以及配置登录 github,这样会更利于后续的操作。之后在 Visual Studio 的终端下,查看下 python -V 的版本,如果不是最新安装的 3.x 版本,可以刷新下配置 source .bash_profile。

  • Mac 电脑安装 Tensorflow:python3 -m pip install tensorflow-macos —— 安装比较耗时,需要等待。如果失败了就继续执行这条指令。

  • 安装后测试:python3 -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))" —— 只要能输出结果为即可。

四、跑个模型,验证下

可能很多伙伴不知道什么是算法模型,简单描述比如;为啥给你推荐你喜欢看的美女,为啥给你发送一个键盘购物券、为啥看你小子有钱就总给你推荐豪车。这都是根据你身上的标签进行模型训练的结果,在众多的人群中找到目标用户。另外像我在腾讯做量化算法的小伙伴说,决策树就是一种简单的算法模型。

代码详见https://github.com/fuzhengwei/TensorFlow-Tutorial

测试结果

fuzhengwei@MacBook-Pro TensorFlow-Tutorial % /usr/local/bin/python3 /Users/fuzhengwei/1024/github/TensorFlow-Tutorial/codes/linear_regression.py
Epoch 1/5001/1 [==============================] - 0s 3ms/step - loss: 0.0150
Epoch 500/5001/1 [==============================] - 0s 2ms/step - loss: 0.01501/1 [==============================] - 0s 76ms/step
[[-0.19686729]]
1/1 [==============================] - 0s 29ms/step
[[-1.0953956]]
1/1 [==============================] - 0s 29ms/step
[[-1.9939239]]
1/1 [==============================] - 0s 31ms/step
[[-2.8924522]]
1/1 [==============================] - 0s 30ms/step
[[-3.7909803]]
1/1 [==============================] - 0s 30ms/step
[[-8.283622]]
  • 这是一个训练了500次的线性回归预测模型;

  • 线性回归可以预测房价、预测股票、预测天气和评估经济。


这一篇文章先给我自己以及大家对 ChatGPT 开个门,让对此感兴趣的编程爱好者可以参与进去学习。在我感觉 ChatGPT 的出现会打破某些平衡,对一些事项进行秩序重置。因此也让更多的人获得了大量的机会。如果你还没有体验到 ChatGPT 的能力,那么可以点击链接对它提问体验。这是小傅哥注册 ChatGPT API Keys 接口,并对接到下面程序中使用的。

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

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

相关文章

基于java记账管理系统(论文+PPT+源码)

本 科 毕 业 设 计(论文) 题 目:记账管理系统 专题题目:记账管理系统 本 科 毕 业 设 计(论文)任 务 书 题 目: 记账管理系统 专题题目(若无专题则不填)&#xff1a…

为了搞懂ERP,我连问 ChatGPT 30个问题,通透!

我对ERP有很多的疑问,这次向ChatGPT请教,连问30个问题,瞬间觉得通透了很多,以下是我的问题和ChatGPT的回复,分为概念篇、架构篇和生态篇三部分,希望能带给你新的启示。 一、概念篇 1、ERP是什么&#xff1f…

安卓app源码和设计报告——简易记账本

课 程 设 计(实训)说 明 书 题目实现简易记账本功能 专 业班 级学生姓名同组学生指导老师 课程设计(实训)评语 学生姓名 专业 班级 2 题目 实现简易记账本功能 评语: 成绩: 优良中及格不及格出勤20%…

ChatGPT来抢财务饭碗?别慌!对话企业聊聊财务数字化

10大职业将被ChatGPT取代,财务也位居其中?有媒体和机构整理,最有可能被取代的职业有:技术工种、媒体工作者、法律工作者、市场研究分析师、教师、财务、交易员、平面设计师、会计师、客服。你感受到职业危机了吗? 当下…

不止ChatGPT,这些GPT 官方助力的潜力股同样值得拥有

我很惊讶于 OpenAI 创投基金主页面的简陋,或许他们更关注于做事吧。对于 OpenAI 的第一组投资来说,人工智能实验室已使用其 1 亿美元的基金投资了至少 12 家公司,很多公司的产品状态尚处于“Join Waitlist”状态,下面我带你了解一…

Java——Linux使用Docker部署若依前后端分离版【保姆级教程】

目录 一、项目规划与前置工作 1.1、docker所需镜像 1.2、使用工具 1.3、防火墙与安全组的配置 1.4、域名解析、备案、SSL证书的准备(可选) 二、Docker和镜像安装 2.1、Docker安装 2.1.1、检查环境 2.1.2、搭建gcc环境(gcc是编程语言译器&am…

面向数据安全共享的联邦学习研究综述

开放隐私计算 摘 要:跨部门、跨地域、跨系统间的数据共享是充分发挥分布式数据价值的有效途径,但是现阶段日益严峻的数据安全威胁和严格的法律法规对数据共享造成了诸多挑战。联邦学习可以联合多个用户在不传输本地数据的情况下协同训练机器学习模型&a…

好再来点餐APP源码和设计报告

大作业文档 项目名称:好再来点餐专业:班级:学号:姓名: 目 录 一、项目功能介绍3 二、项目运行环境3 1、开发环境3 2、运行环境3 3、是否需要联网3 三、项目配置文件及工程结构3 1、工程配置文件3 2、工程结构…

Java 编写的个人记账网站 完整源码 附带详细的设计报告

今天为大家分享一个java语言编写的个人记账网站,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步 开发环境 开发语言为Java,开…

Vue2+3入门到实战

作为IT技术相关行业不可或缺的岗位之一,前端开发工程师就业前途广阔,一直是很多同学心中转行的首选行业。但很多人还没开始,便被一系列问题难倒了,比如:前端该如何入门?路线图是怎样的?想要找到…

尝试用 ChatGPT 完整的实现一个 Serverless 后端工程

❝ 本文转自 Xiaowen.Z 的博客,原文:https://xiaowenz.com/blog/2023/04/coding-with-chatgpt-pilot/,版权归原作者所有。欢迎投稿,投稿请添加微信好友:cloud-native-yang 写在前面 因为从过年开始,断断续续…

只因为给我打了0.1分,重新撸了个记账小程序

2019年的时候和朋友出去旅行,因为需要A账单,所以前一天开发了一个记账小程序,时间匆忙,就随便完成基础记账和AA计算功能后就上线,旅行结束后也就没用过了,前几天无意登录,发现被打了1.0分。 叔能…

总体设计(软件项目)

1.引言 1.1编写目的 由前面的需求分析,得出了系统的基本需求,要实现整个系统,需要对用户的需求进行设计,概要设计主要是利用比较抽象的语言对整个系统进行概括,确定对系统的物理配置,确定整个系统的处理流…

ChatGPT是什么,一文读懂ChatGPT

ChatGPT是个啥? 近期很多朋友后台私信GPT如何访问,我在网上找到一个免梯子的GPT,使用起来还是挺顺畅的,有需要的可以尝试使用,传送门,界面也挺清新的 近期,OpenAI 发布了 ChatGPT,是一个可以对话的方式进行交互的模型,因为它的智能化,得到了很多用户的欢迎。ChatG…

ChatGPT实战:如何进行高难度沟通

最近发现了一个很实用的 ChatGPT 在职场中的应用场景——高难度沟通。对于一个没有什么经验的职场人来说,在第一次面对催促项目进度、礼貌地告诉甲方你们给的钱实在太少了、向老板反馈最近加班太多了等等沟通场景,会很手足无措。 有了 ChatGPT 之后&…

chatgpt搭建企业级量身定制

如果要搭建企业级量身定制的ChatGPT系统,可能需要经过以下几个步骤: 需求分析和设计:根据企业的实际需求,确定ChatGPT的功能和性能指标,并进行系统设计和架构规划。 数据收集和预处理:收集与应用场…

ChatGPT重磅升级!GPT-4懂幽默、会图文,无所不能,你更焦虑了嘛

AI时代已经来临,AI方便了人类,同时他们将替代人类。 以后很多人可能连做螺丝钉的位子都没有。 你选择主动加入还是被动淘汰? 留给你焦虑的时间不多了

搞笑的chitgpt

纯纯接用chatgpt,这个笑话一看就是英文翻译过来的

IBM 成立 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 2 月 14 日,在 1819 年的今天,打字机和第一台 QWERTY 布局键盘的发明者克里斯托弗肖尔斯(Christopher Sholes)出…

美通企业周刊 | 生成式AI成为全球焦点;诺维信和科汉森股东批准合并;沈阳威斯汀酒店开业...

以下是一周来美通社发布的企业资讯要点。 热点:ChatGPT 埃森哲最新研究指出,在现实世界和数字世界越来越密不可分的今天,生成式人工智能等技术的迅速演进正在创造更为广阔的全新商业未来。随着ChatGPT的快速兴起,生成式人工智能展…