楼主: 哈斯酷炫
245 1

ChatGPT+AI技术项目实战,打造多端智能虚拟数字人 [推广有奖]

  • 0关注
  • 0粉丝

大专生

11%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
5.1193
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
419 点
帖子
22
精华
0
在线时间
13 小时
注册时间
2023-7-21
最后登录
2024-4-19

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
ChatGPT+AI技术项目实战,打造多端智能虚拟数字人
网盘地址:https://pan.baidu.com/s/1l1fvpJn76gFcvZ-5yChm2g 提取码:83nx
腾讯微云下载地址:https://share.weiyun.com/Iq5vvw0w 密码:nqni7w

分享课程——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中的相关依赖,可以结合项目进行参考:
<packaging>pom</packaging>

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath />
</parent>

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>

        <mysql-connector-java.version>5.1.41</mysql-connector-java.version>
        <mybatis-spring-boot-starter.version>2.1.0</mybatis-spring-boot-starter.version>
        <mapper-spring-boot-starter.version>2.1.5</mapper-spring-boot-starter.version>
        <pagehelper-spring-boot-starter.version>1.2.12</pagehelper-spring-boot-starter.version>

        <okhttp.version>4.2.2</okhttp.version>
        <jackson.version>2.10.2</jackson.version>

        <commons-codec.version>1.11</commons-codec.version>
        <commons-lang3.version>3.4</commons-lang3.version>
        <commons-fileupload.version>1.4</commons-fileupload.version>
        <google-guava.version>28.2-jre</google-guava.version>

        <springfox-swagger2.version>2.4.0</springfox-swagger2.version>
        <swagger-bootstrap-ui.version>1.6</swagger-bootstrap-ui.version>
        <fastdfs.version>1.27.2</fastdfs.version>

        <slf4j.version>1.7.21</slf4j.version>
        <joda-time.version>2.10.6</joda-time.version>
</properties>

<dependencyManagement>
        <dependencies>
                <!-- SpringCloud 依赖 -->
                <dependency>
                        <groupId>org.springframework.cloud</groupId>
                        <artifactId>spring-cloud-dependencies</artifactId>
                        <version>Hoxton.SR3</version>
                        <type>pom</type>
                        <scope>import</scope>
                </dependency>

                <!-- 引入 mongodb 依赖 -->
                <dependency>
                        <groupId>org.mongodb</groupId>
                        <artifactId>mongodb-driver</artifactId>
                        <!--mongodb-driver.version-->
                        <version>3.11.1</version>
                </dependency>
       
                <!-- mysql 驱动 -->
                <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>${mysql-connector-java.version}</version>
                </dependency>
                <!-- mybatis -->
                <dependency>
                        <groupId>org.mybatis.spring.boot</groupId>
                        <artifactId>mybatis-spring-boot-starter</artifactId>
                        <version>${mybatis-spring-boot-starter.version}</version>
                </dependency>
                <!-- 通用mapper逆向工具 -->
                <dependency>
                        <groupId>tk.mybatis</groupId>
                        <artifactId>mapper-spring-boot-starter</artifactId>
                        <version>${mapper-spring-boot-starter.version}</version>
                </dependency>
                <!--pagehelper -->
                <dependency>
                        <groupId>com.github.pagehelper</groupId>
                        <artifactId>pagehelper-spring-boot-starter</artifactId>
                        <version>${pagehelper-spring-boot-starter.version}</version>
                </dependency>

                <dependency>
                        <groupId>com.squareup.okhttp3</groupId>
                        <artifactId>okhttp</artifactId>
                        <version>${okhttp.version}</version>
                </dependency>

                <!-- jackson -->
                <dependency>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-core</artifactId>
                        <version>${jackson.version}</version>
                </dependency>
                <dependency>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-annotations</artifactId>
                        <version>${jackson.version}</version>
                </dependency>
                <dependency>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-databind</artifactId>
                        <version>${jackson.version}</version>
                </dependency>

                <!-- apache 工具类 -->
                <dependency>
                        <groupId>commons-codec</groupId>
                        <artifactId>commons-codec</artifactId>
                        <version>${commons-codec.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                        <version>${commons-lang3.version}</version>
                </dependency>
                <dependency>
                        <groupId>commons-fileupload</groupId>
                        <artifactId>commons-fileupload</artifactId>
                        <version>${commons-fileupload.version}</version>
                </dependency>

                <!-- google 工具类 -->
                <dependency>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                        <version>${google-guava.version}</version>
                </dependency>

                <!-- swagger2 配置 -->
                <dependency>
                        <groupId>io.springfox</groupId>
                        <artifactId>springfox-swagger2</artifactId>
                        <version>${springfox-swagger2.version}</version>
                </dependency>
                <dependency>
                        <groupId>io.springfox</groupId>
                        <artifactId>springfox-swagger-ui</artifactId>
                        <version>${springfox-swagger2.version}</version>
                </dependency>
                <dependency>
                        <groupId>com.github.xiaoymin</groupId>
                        <artifactId>swagger-bootstrap-ui</artifactId>
                        <version>${swagger-bootstrap-ui.version}</version>
                </dependency>

                <dependency>
                        <groupId>com.github.tobato</groupId>
                        <artifactId>fastdfs-client</artifactId>
                        <version>${fastdfs.version}</version>
                </dependency>

                <!-- joda-time 时间工具 -->
                <dependency>
                        <groupId>joda-time</groupId>
                        <artifactId>joda-time</artifactId>
                        <version>${joda-time.version}</version>
                </dependency>

        </dependencies>
</dependencyManagement>

<build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
                <!-- Java 编译 -->
                <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                                <source>1.8</source>
                                <target>1.8</target>
                                <encoding>UTF-8</encoding>
                        </configuration>
                </plugin>
        </plugins>
</build>


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:chat hat Generative transform Framework

沙发
13762493679 在职认证  企业认证  发表于 2024-4-6 09:57:00 |只看作者 |坛友微信交流群
感谢分享!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 00:39