ChatGPT+AI技术项目实战,打造多端智能虚拟数字人

huiguniang2008 · 2023-11-30 16:05:31 · 1025 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2023-11-30 16:05:31 的主题,其中的信息可能已经有所发展或是发生改变。

ChatGPT+AI技术项目实战,打造多端智能虚拟数字人

分享课程——ChatGPT+AI技术项目实战,打造多端智能虚拟数字人,附源码。

ChatGPT全称为Chat Generative Pre-trained Transformer,一个基于深度学习的大型语言模型,其模型结构使用了Transformer网络 。这个网络可以从输入的文本中学习语言的规律和模式,并用这些规律和模式来预测下一个单词或字符。 在chatGPT的训练过程中,chatGPT接受了海量的文本数据,这些数据包括各种来源,例如维基百科、新闻文章、小说、网页等等。这些庞大的数据集被用来形成一个模仿人脑的深度学习神经网络,在学习过程中,chatGPT试图学习这些数据中的语言规则和模式,预测文本序列中的下一个单词或字符,以提高自己的准确性。 ChatGPT整个工作的核心是“Transformer”,这是一种用于处理自然语言数据的神经网络。神经网络通过互连节点层处理信息来模拟人脑的工作方式。将神经网络想象成一个曲棍球队:每个球员都有一个角色,但他们在具有特定角色的球员之间来回传递冰球,所有人一起努力得分。

AI的算法结构,也是经过了漫长的探索与积累之后,才有了今天Transformer的质变。

第一个阶段:模式匹配,给AI输入一些列的逻辑与规则,AI根据规则来进行判断与推理。代表性有符号逻辑,联结主义等,主要应用在包括象棋和国际象棋等游戏。 第二阶段:机器学习,让计算机不需要显式的程序也可以具备学习的能力,以处理更复杂的任务。代表性的算法包括反向传播、决策树、神经网络和规则引擎等。主要应用在语音识别、图像识别和机器翻译等领域。 第三阶段:人工神经网络,随着数据量的增加和计算能力的提升,一种基于神经网络结构的机器学习算法。这个时期的经典算法包括支持向量机、朴素贝叶斯、卷积神经网络和循环神经网络等。 第四阶段:深度学习神经网络,一种模仿人脑的复杂、多层、加权算法,它能够学习文本数据中的模式和关系,并利用创建类似人类的能力。通过预测任何给定句子中接下来应该出现的文本来做出响应。 代表算法有Transformer。

打开命令行进行交互测试,请使用以下代码进行模型测试,目前使用一些小方法可实现正常对话,这里可能要多尝试几次(已经更新了cli_demo.py和web_demo.py可运行,推荐使用A100含以上的显卡)

解压启动文件到模型存放路径并启动 cd /home/aistudio/data/data203501 unzip chatglm-6b.zip cd python /home/aistudio/work/ChatGLM-6B/cli_demo.py

分析了ChatGLM模型文件的整体结构后,我对整体的模型运行逻辑进行了一个分析,后续如果有能力调整的可参考一下 models ——config.json # 模型的基本信息,包括运行时要调用的py文件和函数,模型的结构参数都放在该json ——configuration_chatglm.py # 设置模型的基本参数的py文件 ——modeling_chatglm.py # 组网程序,也是模型主程序,后续调整环境需要对这个文件进行大幅调整 ——quanitization.py # 量化程序,主要是为了调整Tensor的精度,默认是bfloat16 ——tokenization_chatglm.py # 词嵌入程序,主要是为了将语句输入转化为词嵌入向量(token)形式,之后将其送进模型进行推理 ——tokenizer_config.json # tokenizer的基本设置文件,可查看句子是通过何种方式进行向量化的

虚拟数字人(Digital Human / Meta Human),是运用数字技术创造出来的、与人类形象接近的数字化人物形象。 虚拟数字人系统一般情况下由人物形象、语音生成、动画生成、音视频合成显示、交互等5个模块构成。 3D超写实虚拟数字人制作主要核心技术: 建模设计技术:明确形象设计方向,根据平面形象,进行3D模型搭建; 动捕驱动技术:通过捕捉技术采集真人演员的动作和面部表情数据,之后将这些数据迁移合成到虚拟数字人身上; 渲染技术:将场景、人物、角色、特效已经配音进行后期合成,最后渲染成片。

现实中的机器人技术主要的难点在于能源和控制系统这两方面,原因如下:

1.能源:机器人需要稳定的能源供应来运行和执行任务。然而,为机器人提供高效、持久的能源仍然是一个挑战。机器人通常需要小型而高能量密度的能源来源,以满足其动力需求。电池技术在这方面取得了一些进展,但仍存在容量、充电速度和寿命等方面的限制。为机器人提供长时间的能源供应,特别是在远离电源的环境中,仍然是一个重要难题。 2.控制系统:机器人的控制系统涉及对机器人的感知、决策和执行能力的整合和优化。机器人需要具备高度精确的感知能力来感知和理解周围环境,并能做出适应环境变化的决策。同时,机器人还需要高精度的运动控制能力来实现准确的操作和移动。这就涉及到传感器技术、算法、运动控制和人工智能等方面的复杂问题。确保机器人能够稳定、安全地运行并完成任务需要高度可靠的控制系统,这是目前仍然具有挑战性的领域。

现如今的分布式项目,微服务项目都是通过maven来构建的聚合工程,聚合工程利于维护,利于可扩展,提高项目的可维护性。以下为顶级pom中的相关依赖,可以结合项目进行参考:

pom org.springframework.boot spring-boot-starter-parent 2.2.5.RELEASE UTF-8 UTF-8 1.8 5.1.41 2.1.0 2.1.5 1.2.12 4.2.2 2.10.2 1.11 3.4 1.4 28.2-jre 2.4.0 1.6 1.27.2 1.7.21 2.10.6 org.springframework.cloud spring-cloud-dependencies Hoxton.SR3 pom import org.mongodb mongodb-driver 3.11.1 mysql mysql-connector-java ${mysql-connector-java.version} org.mybatis.spring.boot mybatis-spring-boot-starter ${mybatis-spring-boot-starter.version} tk.mybatis mapper-spring-boot-starter ${mapper-spring-boot-starter.version} com.github.pagehelper pagehelper-spring-boot-starter ${pagehelper-spring-boot-starter.version} com.squareup.okhttp3 okhttp ${okhttp.version} com.fasterxml.jackson.core jackson-core ${jackson.version} com.fasterxml.jackson.core jackson-annotations ${jackson.version} com.fasterxml.jackson.core jackson-databind ${jackson.version} commons-codec commons-codec ${commons-codec.version} org.apache.commons commons-lang3 ${commons-lang3.version} commons-fileupload commons-fileupload ${commons-fileupload.version} com.google.guava guava ${google-guava.version} io.springfox springfox-swagger2 ${springfox-swagger2.version} io.springfox springfox-swagger-ui ${springfox-swagger2.version} com.github.xiaoymin swagger-bootstrap-ui ${swagger-bootstrap-ui.version} com.github.tobato fastdfs-client ${fastdfs.version} joda-time joda-time ${joda-time.version}

${project.artifactId} org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 UTF-8 QQ截图20231130143547.png


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1025 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传