华为云用户手册

  • Cache Cache缓存是一种临时存储数据的方法,它可以把常用的数据保存在内存或者其他设备中,这样当需要访问这些数据时,就不用再去原始的数据源查找,而是直接从缓存中获取,从而节省时间和资源。 对LLM使用缓存: LLM llm = LLMs.of(LLMs.PANGU, llmConfig); llm.setCache(Caches.of(Caches.IN_MEMORY)); llm.ask("你能讲一个笑话吗?") 此时,再次使用同样的问题,则不会再调用大模型,而是直接从内存返回: llm.ask("你能讲一个笑话吗?") Cache缓存有以下几个操作: 初始化:指定缓存使用哪种存储方式。例如,使用内存型缓存可以设置为Cache cache = Caches.of(Caches.IN_MEMORY);。 import com.huaweicloud.pangu.dev.sdk.api.memory.cache.Cache; import com.huaweicloud.pangu.dev.sdk.api.memory.cache.Caches; // 内存型 Cache cache = Caches.of(Caches.IN_MEMORY); // Redis Cache cache = Caches.of(Caches.REDIS); // mysql Cache cache = Caches.of(Caches.SQL); 更新数据:指向缓存中添加或修改数据,需要指定数据的键值对和结果对象。例如,把1+1这个问题和对应的答案2保存到缓存中,可参考以下示例。 import com.huaweicloud.pangu.dev.sdk.api.llms.response.LLMResp; //更新数据 cache.update("1+1", LLMResp.builder().answer("2").build()); 查询数据:从缓存中获取数据,需要指定数据的键值对。例如,查找1+1这个问题对应的答案,可参考以下示例。 import com.huaweicloud.pangu.dev.sdk.api.llms.response.LLMResp; // 查找数据 LLMResp cacheValue = cache.lookup("1+1"); 清理数据:删除缓存中的数据。例如,删除对应的缓存数据,可参考以下示例。 // 清理 cache.clear() 配置过期策略:设置缓存有效期,支持基于时间和大小的限制。 // 设置缓存数据10s 后过期 Cache cache = Caches.of(Caches.IN_MEMORY, CacheStoreConfig.builder().expireAfterWrite(10).build()); 参数解释:用于设置缓存对象的一些基本信息,如过期时间等。 /** * 会话标识,业务确定 */ @Builder.Default private String sessionTag = ""; /** * 访问后到期时间,单位为秒, 默认不设置过期 */ @Builder.Default private int expireAfterAccess = -1; /** * 写入后到期时间,单位为秒, 默认不设置过期 */ @Builder.Default private int expireAfterWrite = -1; /** * 最大个数, 默认不设置过期 */ @Builder.Default private int maximumSize = -1; 语义缓存:语义缓存是一种基于向量和相似度的缓存方法,它可以实现对数据的语义匹配和查询。语义缓存可以根据不同的向量存储、相似算法、评分规则和阈值进行配置,并且可以使用不同的词向量模型进行嵌入。 import com.huaweicloud.pangu.dev.sdk.api.embedings.Embeddings; import com.huaweicloud.pangu.dev.sdk.api.llms.response.LLMResp; import com.huaweicloud.pangu.dev.sdk.api.memory.cache.Cache; import com.huaweicloud.pangu.dev.sdk.api.memory.cache.Caches; import com.huaweicloud.pangu.dev.sdk.api.memory.config.CacheStoreConfig; import com.huaweicloud.pangu.dev.sdk.api.memory.config.ServerInfoRedis; import com.huaweicloud.pangu.dev.sdk.api.memory.vector.Vectors; import com.huaweicloud.pangu.dev.sdk.vectorstore.DistanceStrategy; import org.junit.jupiter.api.Assertions; //redis向量 // 不同的向量存储, 不同的相似算法;计算的评分规则不同; 可以同过scoreThreshold 设置相似性判断阈值 // 例如使用Redis向量、余弦相似度、 CSS 词向量模型,并且设置相似性判断阈值为0.1f,代码示例如下 Cache cache = Caches.of(CacheStoreConfig.builder() .storeName(Caches.SEMANTIC_REDIS) .vectorStoreName(Vectors.REDIS) .serverInfo(ServerInfoRedis.builder().build()) .distanceStrategy(DistanceStrategy.COSINE) .scoreThreshold(0.1f) .embedding(Embeddings.of(Embeddings. CS S)) .build()); //会话标识 String sessionTag="test-semantic-cache-vector-001"; cache.setSessionTag(sessionTag); cache.clear(); //数据已清空 Assertions.assertNull(cache.lookup("缓存是否存在?")); //更新数据 //指向语义缓存中添加或修改数据,需要指定数据的键值对和结果对象 //例如,把“把缓存是否存在?”这个问题和“test-semantic-cache-vector-001”这个会话标识对应的答案“存在”保存到语义缓存中,代码示例如下 cache.update("缓存是否存在?",LLMResp.builder().answer("存在。").build()); //校验,一致 //用于检查缓存中的数据是否与查询的数据是否一致,如果一致,就返回缓存中的结果对象 //例如,查询“缓存是否存在?”这个问题和“test-semantic-cache-vector-001”这个会话标识,就可以从缓存中获取到之前保存的答案“存在” String query="缓存是否存在?"; LLMResp cacheValueAfter=cache.lookup(query); Assertions.assertNotNull(cacheValueAfter); System.out.println(query+cacheValueAfter.getAnswer()); //校验,相似 //用于检查缓存中的数据是否与查询的数据语义相似,如果相似,就返回缓存中的结果对象。这个操作需要使用向量和相似度的计算,以及设置的阈值来判断 //例如,查询“缓存存在?”这个问题和“test-semantic-cache-vector-001”这个会话标识,就可以从缓存中获取到之前保存的答案“存在”,因为这个问题和“缓存是否存在?”问题语义相似 String query_sim="缓存存在?"; LLMResp cacheValueSemantic=cache.lookup(query_sim); Assertions.assertNotNull(cacheValueSemantic); System.out.println(query_sim+cacheValueSemantic.getAnswer()); //校验,不一致 //用于检查缓存中的数据是否与查询的数据不一致,如果不一致,返回空值 //例如,查询“有没有数据?”这个问题和“test-semantic-cache-vector-001”这个会话标识,就无法从缓存中获取到任何答案,因为这个问题和之前保存的问题都不一致 String query_not="有没有数据?"; Assertions.assertNull(cache.lookup(query_not)); 父主题: Memory(记忆)
  • 开通盘古大模型服务 调用模型之前,需要先开通盘古大模型服务。 登录盘古大模型套件平台。 在左侧导航栏中选择“服务管理”,在相应服务的操作列单击“查看详情”,可在服务列表中申请需要开通的服务。 文本补全:提供单轮文本能力,常用于文本生成、文本摘要、闭卷问答等任务。 多轮对话:提供多轮文本能力,常用于多轮对话、聊天任务。 图1 服务管理 图2 申请开通服务 您可按照需要选择是否开启 内容审核 。 开启内容审核后,可以有效拦截大模型输入输出的有害信息,保障模型调用安全,推荐进行开启。 图3 大模型内容审核 盘古大模型支持通过对接内容审核,实现拦截大模型输入、输出的有害信息,保障模型调用安全。用户可依据需求选择是否开通、启用内容审核。 推荐用户购买内容审核套餐包,购买内容审核套餐包时,需要选择“ 文本内容审核 ”套餐。 如果未启用内容审核服务,可以在开通服务之后,查看服务详情,在详情界面右上角开通内容审核。 父主题: 调用盘古大模型
  • Memory(记忆) Memory(记忆)模块结合外部存储为LLM应用提供长短期记忆功能,用于支持上下文记忆的对话、搜索增强等场景。 Memory(记忆)支持多种不同的存储方式和功能。 Cache缓存:是一种临时存储数据的方法,它可以提高数据的访问速度和效率。缓存可以根据不同的存储方式进行初始化、更新、查找和清理操作。缓存还可以支持语义匹配和查询,通过向量和相似度的计算,实现对数据的语义理解和检索。 Vector向量存储:是一种将数据转换为数学表示的方法,它可以度量数据之间的关系和相似度。向量存储可以根据不同的词向量模型进行初始化、更新、查找和清理操作。向量存储还可以支持多种相似算法,如余弦相似度、欧氏距离、曼哈顿距离等,实现对数据的相似度评分和排序。 History对话消息存储:是一种将对话消息保存在内存中的方法,它可以记录和管理对话历史。对话消息存储可以根据不同的会话标识进行初始化、更新、查找和清理操作。对话消息存储还可以支持多种过滤条件,如时间范围、用户标识、消息类型等,实现对话消息的筛选和分析。 Cache Vector History 父主题: Python SDK
  • Splitter Splitter用于文档拆分解析,提供对文档数据进行拆分解析能力,支持pdf/doc/docx/ppt/pptx/xls/xlsx/png/jpg/jpeg/bmp/gif/tiff/webp/pcx/ico/psd等格式文档。 初始化:根据相应解析接口定义DocSplit类。以使用华为Pangu DocSplit为例: import com.huaweicloud.pangu.dev.sdk.api.doc.splitter.DocSplit; import com.huaweicloud.pangu.dev.sdk.api.doc.splitter.DocSplits; import com.huaweicloud.pangu.dev.sdk.api.doc.splitter.config.SplitConfig; // 初始化 pangudoc split(直接指定filePath和mode) String filePath = "D:/test.doc"; DocSplit docPanguSplit = DocSplits.of(SplitConfig.builder().splitName(DocSplits.PANGUDOC).filePath(filePath).mode("1").build()); // 初始化pangudoc split(通过配置文件指定filePath和mode) DocSplit docPanguSplit = DocSplits.of(DocSplits.PANGUDOC); 其中,filePath指的是需要解析的文档路径,mode为分割解析模式,具体定义如下: 0 - 返回文档的原始段落,不做其他处理。 1 - 根据标注的书签或目录分段,一般适合有层级标签的word文档。 2 - 根据内容里的章节条分段,适合制度类文档。 3 - 根据长度分段,默认按照500字拆分,会尽量保留完整句子。
  • 什么是AI助手 AI助手是一种基于NLP大模型构建的人工智能应用,它通过结合多种工具并利用大模型的对话问答、规划推理、逻辑判断等能力,来理解和回应用户的需求。 例如,需要构建一个企业助理应用,该应用需要具备预定会议室、创建在线文档和查询报销信息等功能。在构建此应用时,需要将预定会议室与创建在线文档等功能的API接口定义为一系列的工具,并通过AI助手,将这些工具与大模型进行绑定。当用户向AI助手提问时,大模型就会根据用户的问题自动规划调用相应工具,从而实现对应的功能。 AI助手具备以下核心功能: 大模型调用能力:AI助手可以根据特定的指令调用NLP大模型,以改变AI助手的回复方式,使其更好地响应用户的需求。例如,让AI助手表现得更加友好、专业,或者更加幽默。 多工具混合调用:AI助手可以集成不同功能的工具来解决问题,这使得AI助手能够处理各种复杂的任务。 统一调用入口:AI助手通过一个统一的问答入口,即可解决多种问题,这使得用户可以在一个地方就能完成所有的任务。 有效分发业务问题:AI助手可以根据用户的需求和工具的定位,自动对问题进行分发,这使得AI助手可以更准确地理解用户的需求,并提供相关的服务。 父主题: AI助手
  • 多轮对话 支持上下文记忆的多轮对话。 初始化 from pangukitsappdev.skill.conversation_skill import ConversationSkill from pangukitsappdev.api.llms.factory import LLMs skill = ConversationSkill(LLMs.of("pangu")) 问答 from pangukitsappdev.memory.redis_message_history import RedisMessageHistory from langchain.memory import ConversationBufferWindowMemory # 定义存储策略 skill.set_memory(ConversationBufferWindowMemory(k=3, chat_memory=RedisMessageHistory())) answer = skill.execute("中国首都是哪个城市?") print(answer) assert "北京" in answer answer = skill.execute("它有什么好玩的地方?") print(answer) assert "故宫" in answer 父主题: Skill(技能)
  • 工程实现 准备知识库。 获取并安装SDK包。 在配置文件(llm.properties)中配置模型信息。 # 盘古模型 IAM 认证信息,根据实际填写 sdk.llm.pangu.iam.url= sdk.llm.pangu.iam.domain= sdk.llm.pangu.iam.user= sdk.llm.pangu.iam.password= sdk.llm.pangu.project= ## 盘古模型信息,根据实际情况填写 sdk.llm.pangu.url= ## CSS Embedding模型api sdk.embedding.css.url= sdk.embedding.css.iam.url= sdk.embedding.css.iam.domain= sdk.embedding.css.iam.user= sdk.embedding.css.iam.password= sdk.embedding.css.iam.project= ## CSS 向量库 sdk.memory.css.url= sdk.memory.css.user= sdk.memory.css.password= 工程实现。 import com.huaweicloud.pangu.dev.sdk.skill.DocSkill; import com.huaweicloud.pangu.dev.sdk.api.skill.Skills; import com.huaweicloud.pangu.dev.sdk.api.memory.vector.Vector; import com.huaweicloud.pangu.dev.sdk.api.memory.vector.Vectors; import com.huaweicloud.pangu.dev.sdk.api.memory.config.VectorStoreConfig; import com.huaweicloud.pangu.dev.sdk.api.embedings.Embeddings; String query = "杜甫的诗代表了什么主义诗歌艺术的高峰?"; // 初始化向量库 Vector cssVector = Vectors.of(Vectors.CSS, VectorStoreConfig.builder() .embedding(Embeddings.of(Embeddings.CSS)) .indexName("sdk-test-dataset-webqa-10") .build()); // 检索文档; docs = cssVector.similaritySearch(query, 4, 105); // 文档问答 DocSkill skill = Skills.Document.newDocAskStuffSkill(LLMs.of(LLMs.PANGU)); String answer = skill.executeWithDocs(docs, query);
  • 边缘部署准备工作 本指南的边缘部署操作以largemodel集群为例,示例集群信息如下表。 表1 示例集群信息 集群名 节点类型 节点名 规格 备注 largemodel controller ecs-edge-30037210 鲲鹏通用计算型|8vCPUs|29GiB|rc3.2xlarge.4镜像 EulerOS 2.9 64bit with ARM for Tenant 20230728 base 2.9.15 公网IP:100.85.220.207 root密码: CPU架构:aarch64(登录设备,执行arch命令查看) worker bms-pangu30037210 CPU:Kunpeng 920(4*48Core@2.6GHz) 内存:24*64GB DDR4 RAM (GB) 本地磁盘:3*7.68TB NVMe SSD 扩展配置:2*100GE+8*200GE 类型:physical.kat2e.48xlarge.8.313t.ei.pod101 euler2.10_arm_sdi3_1980b_hc_sdi5_b080_20230831v2 公网IP:100.85.216.151 root密码: CPU架构:aarch64(登录设备,执行arch命令查看) 依赖包下载。 docker下载:https://download.docker.com/linux/static/stable 选择对应cpu架构下载,docker版本选在19.0.3+。 K3S下载:https://github.com/k3s-io/k3s/releases/tag/v1.21.12%2Bk3s1 按照对应cpu架构下载二进制文件以及air-gap镜像。 npu驱动和固件安装。 执行命令npu-smi info查看驱动是否已安装。如果有回显npu卡信息,说明驱动已安装。 详情请参见昇腾官方文档。 hccn too网卡配置。 执行如下命令,查看是否有回显网卡信息。如果有,则说明网卡已经配置,否则继续操作下面步骤。 cat /etc/hccn.conf 执行如下命令,查看npu卡数。 npu-smi info 执行如下命令(地址自行配置): hccn_tool -i 0 -ip -s address 192.168.0.230 netmask 255.255.255.0 hccn_tool -i 1 -ip -s address 192.168.0.231 netmask 255.255.255.0 hccn_tool -i 2 -ip -s address 192.168.0.232 netmask 255.255.255.0 hccn_tool -i 3 -ip -s address 192.168.0.233 netmask 255.255.255.0 hccn_tool -i 4 -ip -s address 192.168.0.234 netmask 255.255.255.0 hccn_tool -i 5 -ip -s address 192.168.0.235 netmask 255.255.255.0 hccn_tool -i 6 -ip -s address 192.168.0.236 netmask 255.255.255.0 hccn_tool -i 7 -ip -s address 192.168.0.237 netmask 255.255.255.0 执行命令cat /etc/hccn.conf,确保有如下回显网卡信息,则配置完成。 配置NFS网盘服务。 大模型采用镜像+模型分开的方式部署时,需要有一个节点来提供NFS网盘服务,创建部署时通过NFS挂载的方式访问模型。 父主题: 部署为边缘服务
  • 启用盘古大模型搜索增强能力 大模型在训练时使用的是静态的文本数据集,这些数据集通常是包含了截止到某一时间点的所有数据。因此,对于该时间点之后的信息,大模型可能无法提供。 通过将大模型与盘古搜索结合,可以有效解决数据的时效性问题。当用户提出问题时,模型先通过搜索引擎获取最新的信息,并将这些信息整合到大模型生成的答案中,从而提供既准确又及时的答案。 登录盘古大模型套件平台,在左侧导航栏中选择“能力调测”。 单击“多轮对话”页签,选择使用N2系列模型,在页面右侧“参数设置”中可以开启搜索增强功能。 图1 体验搜索增强能力
  • 体验盘古预置模型能力 登录盘古大模型套件平台,在左侧导航栏中单击“能力调测”。 如图所示,能力调测页面提供了文本补全和多轮对话功能,且每种功能都提供了预置的盘古大模型供用户体验。用户可以在页面右侧进行参数设置,然后在输入框中输入问题,模型就会返回对应的答案内容,具体参数信息如下表。 图1 体验预置模型功能 表1 能力调测参数信息表 参数名称 描述 温度 控制语言模型输出的随机性与创造性。温度设置越低,输出更可预测;温度设置越高,输出种类更多,更不可预测。 核采样 控制生成文本多样性和质量。 最大口令限制 用于控制聊天回复的长度和质量。一般来说,设置较大的参数值可以生成较长和较完整的回复,但也可能增加生成无关或重复内容的风险。较小的参数值可以生成较短和较简洁的回复,但也可能导致生成不完整或不连贯的内容,请避免该值小于10,否则可能生成空值或极差的效果。因此,需要根据不同的场景和需求来选择合适的参数值。 话题重复度控制 用于调整模型对新令牌(Token)的处理方式。即如果一个Token已经在之前的文本出现过,那么模型在生成这个Token时会受到一定的惩罚。当值为正数时,模型会更倾向于生成新的Token,即更倾向于谈论新的话题。 词汇重复度控制 用于调整模型对频繁出现的Token的处理方式。即如果一个Token在训练集中出现的频率较高,那么模型在生成这个Token时会受到一定的惩罚。当的值为正数时,模型会更倾向于生成出现频率较低的Token,即模型会更倾向于使用不常见的词汇。 历史对话保留轮数 选择要包含在每个新API请求中的过去消息数。这有助于为新用户查询提供模型上下文。参数设置为10,表示包括5个用户查询和5个系统响应。该参数只涉及多轮对话功能。 体验预置模型文本补全能力 进入“文本补全”页签,选择模型与示例,参数设置为默认参数,在输入框输入问题,单击“生成”,模型将基于问题进行回答。 图2 体验预置模型文本补全能力 修改参数以查看模型效果,示例如下: 将“核采样”参数调小,如改为0.1,保持其他参数不变,单击“重新生成”,再单击“重新生成”,可以看到模型前后两次回复内容的多样性降低。 图3 “核采样”参数调小后生成结果1 图4 “核采样”参数调小后生成结果2 将“核采样”参数调大,如改为1,保持其他参数不变,单击“重新生成”,再单击“重新生成”,可以看到模型前后两次回复内容的多样性提高。 图5 “核采样”参数调大后生成结果1 图6 “核采样”参数调大后生成结果2 体验预置模型的多轮对话能力 进入“多轮对话”页签,选择模型与人设,参数设置为默认参数,在输入框输入问题,单击“生成”,模型将基于问题进行回答。 图7 体验预置模型多轮对话能力 修改参数以查看模型效果,示例如下: 将“最大口令限制”参数调小,如改为98,保持其他参数不变,单击“重新生成”,可以看到模型回复内容长度减小。 图8 修改“最大口令限制”参数 父主题: 体验盘古大模型功能
  • 体验盘古驱动的应用百宝箱 应用百宝箱是盘古大模型为用户提供的便捷AI应用集,用户可在其中使用盘古大模型预置的场景应用和外部应用,轻松体验大模型开箱即用的强大能力。 登录盘古大模型套件平台,在左侧导航栏中选择“应用百宝箱”,进入“应用百宝箱”页面。 在“应用市场”页签中,选择场景应用,立即体验应用能力。 图1 应用市场 图2 应用试用 在“外部应用”页签中,选择外部应用,单击“继续前往”,页面将跳转至外部应用页面供用户体验。 图3 外部应用 图4 外部应用试用 父主题: 体验盘古大模型功能
  • Prompt工程相关概念 表3 Prompt工程相关概念说明 概念名 说明 提示词 提示词(Prompt)是一种用于与AI人工智能模型交互的语言,用于指示模型生成所需的内容。 思维链 思维链 (Chain-of-Thought)是一种模拟人类解决问题的方法,通过一系列自然语言形式的推理过程,从输入问题开始,逐步推导至最终输出结论。 Self-instruct Self-instruct是一种将预训练语言模型与指令对齐的方法,允许模型自主生成数据,而不需要大量的人工标注。
  • 训练相关概念 表1 训练相关概念说明 概念名 说明 Token 令牌(Token)是指模型处理和生成文本的基本单位。Token可以是词或者字符的片段。模型的输入和输出的文本都会被转换成Token,然后根据模型的概率分布进行采样或者计算。 例如,在英文中,有些组合单词会根据语义拆分,如overweight会被设计为2个Token:“over”和“weight”。在中文中,有些汉字会根据语义被整合,如“等于”、“王者荣耀”。 例如,在盘古NLP大模型中,1token≈0.75个英文单词,1token≈1.5汉字。 自监督学习 自监督学习(Self-Supervised Learning,简称SSL)是一种机器学习方法,它从未标记的数据中提取监督信号,属于无监督学习的一个子集。该方法通过创建“预设任务”让模型从数据中学习,从而生成有用的表示,可用于后续任务。它无需额外的人工标签数据,因为监督信号直接从数据本身派生。 有监督学习 有监督学习是机器学习任务的一种。它从有标记的训练数据中推导出预测函数。有标记的训练数据是指每个训练实例都包括输入和期望的输出。 LoRA 局部微调(LoRA)是一种优化技术,用于在深度学习模型的微调过程中,只对模型的一部分参数进行更新,而不是对所有参数进行更新。这种方法可以显著减少微调所需的计算资源和时间,同时保持或接近模型的最佳性能。 过拟合 过拟合是指为了得到一致假设而使假设变得过度严格,会导致模型产生“以偏概全”的现象,导致模型泛化效果变差。 欠拟合 欠拟合是指模型拟合程度不高,数据距离拟合曲线较远,或指模型没有很好地捕捉到数据特征,不能够很好地拟合数据。 损失函数 损失函数(Loss Function)是用来度量模型的预测值f(x)与真实值Y的差异程度的运算函数。它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。
  • 推理相关概念 表2 训练相关概念说明 概念名 说明 温度系数 温度系数(temperature)控制生成语言模型中生成文本的随机性和创造性,调整模型的softmax输出层中预测词的概率。其值越大,则预测词的概率的方差减小,即很多词被选择的可能性增大,利于文本多样化。 多样性与一致性 多样性和一致性是评估LLM生成语言的两个重要方面。 多样性指模型生成的不同输出之间的差异。一致性指相同输入对应的不同输出之间的一致性。 重复惩罚 重复惩罚(repetition_penalty)是在模型训练或生成过程中加入的惩罚项,旨在减少重复生成的可能性。通过在计算损失函数(用于优化模型的指标)时增加对重复输出的惩罚来实现的。如果模型生成了重复的文本,它的损失会增加,从而鼓励模型寻找更多样化的输出。
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 创意营销 在创意营销领域,企业常常需要投入大量的时间和资源来撰写吸引人的营销文案。然而,传统的人工撰写方式不仅效率低下,还受到写手个人素质的影响。盘古大模型的应用为这一问题提供了创新的解决方案。 盘古大模型通过学习用户所需的文案风格和内容,能够轻松完成广告文案、社交媒体帖子、新闻稿等多种写作任务。它不仅能提供创意丰富、语言生动的文案,还能根据不同产品特性和目标受众进行定制,帮助产品吸引更多的潜在客户。 此外,盘古大模型还能根据市场趋势和用户反馈不断优化文案的创作策略和内容。它能够分析用户的阅读习惯和偏好,调整文案结构和语言风格,以更好地吸引用户注意。这种智能化、个性化的营销文案创作,不仅提升了营销效果,也释放了企业的创作活力和创新潜力。
  • 代码助手 在软件开发领域,编程语言的多样性和复杂性给程序员带来了巨大的挑战。盘古NLP大模型为程序员提供了强大的代码助手,显著提升了研发效率。 盘古大模型能够根据用户给定的题目,快速生成高质量的代码,支持Java、Python、Go等多种编程语言。它不仅能够提供完整的代码实现,还能够根据用户的需求,进行代码补全和不同编程语言之间的改写转化。 借助盘古大模型,程序员可以更加专注于创新和设计,而无需过多关注繁琐的编码工作。它不仅提升了代码的质量和稳定性,还缩短了开发周期,加速了产品的迭代和发布。
  • 智能客服 在政企场景中,传统的智能客服系统常受限于语义泛化能力和意图理解能力,导致用户需求难以准确捕捉,频繁转接至人工客服。这不仅增加了企业的运营成本,也影响了用户体验。盘古大模型的引入为这一问题提供了有效解决方案。 盘古大模型通过将客户知识数据转换为向量并存储在向量数据库中,利用先进的 自然语言处理 技术对用户输入的文本进行深度分析和理解。它能够精准识别用户的意图和需求,即使是复杂或模糊的查询,也能提供准确的响应。这种对话问答方式提高了知识获取效率,使智能客服系统更加人性化和有温度。 此外,盘古大模型还能够根据用户的行为和反馈不断学习和优化,进一步提升服务能力。它能识别用户的情绪和语气,调整回答的语调和内容,更贴近用户的实际需求。这种智能化、个性化的服务体验不仅减少了转人工的频率,还提升了用户满意度。
  • 数据保护技术 盘古大模型服务通过多种数据保护手段和特性,保障存储在服务中的数据安全可靠。 表1 盘古大模型的数据保护手段和特性 数据保护手段 简要说明 传输加密(HTTPS) 盘古服务使用HTTPS传输协议保证数据传输的安全性。 基于OBS提供的数据保护 基于OBS服务对用户的数据进行存储和保护。请参考OBS数据保护技术说明:https://support.huaweicloud.com/productdesc-obs/obs_03_0375.html 父主题: 安全
  • 迁移能力强 盘古大模型的迁移能力是其适应多变业务需求的关键。除了在已有领域中表现出色,它还能通过少量的新数据快速迁移到新的领域或场景。这种迁移能力使模型能够在面对新挑战时迅速调整和优化,提供适应新领域的服务。 通过微调技术,盘古大模型能够在保持原有优势的同时,融入新领域的特征和规律,实现对新任务的快速适应。这种能力极大地扩展了模型的应用范围,使其在更广泛的业务场景中发挥作用,为用户提供更加全面和深入的智能服务。
  • 模型效果优秀 经过海量数据训练,盘古大模型在各种自然语言处理任务中展现出卓越的性能。无论是文本分类、情感分析、 机器翻译 ,还是问答系统,模型都能以高准确率完成任务,为用户提供高质量的输出结果。 这种卓越的表现源于其先进的算法和深度学习架构。盘古大模型能够深入理解语言的内在逻辑与语义关系,因此在处理复杂语言任务时展现出更高的精准度和效率。这不仅提高了任务的成功率,也大幅提升了用户体验,使盘古大模型成为企业和开发者构建智能应用的首选。
  • 海量训练数据 盘古大模型依托海量且多样化的训练数据,涵盖从日常对话到专业领域的广泛内容,帮助模型更好地理解和生成自然语言文本,适用于多个领域的业务应用。这些数据不仅丰富多样,还为模型提供了深度和广度的语言学习基础,使其能够生成更加自然、准确且符合语境的文本。 通过对海量数据的深入学习和分析,盘古大模型能够捕捉语言中的细微差别和复杂模式,无论是在词汇使用、语法结构,还是语义理解上,都能达到令人满意的精度。此外,模型具备自我学习和不断进化的能力,随着新数据的持续输入,其性能和适应性不断提升,确保在多变的语言环境中始终保持领先地位。
  • 身份认证与访问控制 用户可以通过调用REST网络的API来访问盘古大模型服务,有以下两种调用方式: Token认证:通过Token认证调用请求。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。经过认证的请求总是需要包含一个签名值,该签名值以请求者的访问密钥(AK/SK)作为加密因子,结合请求体携带的特定信息计算而成。通过访问密钥(AK/SK)认证方式进行认证鉴权,即使用Access Key ID(AK)/Secret Access Key(SK)加密的方法来验证某个请求发送者身份。 父主题: 安全
  • 什么是盘古大模型 盘古大模型致力于深耕行业,打造多领域的行业大模型和能力集。其核心能力依托于盘古大模型套件平台,该平台是华为云推出的集数据管理、模型训练和模型部署为一体的一站式大模型开发与应用平台。平台提供了包括盘古大模型在内的多种大模型服务,支持大模型的定制开发,并提供覆盖全生命周期的大模型工具链。 盘古大模型为开发者提供了一种简单高效的方式来开发和部署大模型。通过数据工程、模型开发和应用开发等功能套件,帮助开发者充分发挥盘古大模型的强大功能。企业可根据自身需求选择合适的大模型相关服务和产品,轻松构建自己的模型。 数据工程套件 数据是大模型训练的基础,为大模型提供了必要的知识和信息。数据工程套件作为盘古大模型服务的重要组成部分,具备数据获取、清洗、配比和管理等功能。该套件能够高效收集和处理各种格式的数据,满足不同训练和评测任务的需求。通过提供自动化的质量检测和数据清洗能力,对原始数据进行优化,确保其质量和一致性。同时,数据工程套件还提供强大的数据存储和管理能力,为大模型训练提供高质量的数据支撑。 模型开发套件 模型开发套件是盘古大模型服务的核心组件,提供从模型创建到部署的一站式解决方案。该套件具备模型管理、训练、评估、压缩、部署、推理和迁移等功能,支持模型的自动化评估,确保模型的高性能和可靠性。通过高效的推理性能和跨平台迁移工具,模型开发套件能够保障模型在不同环境中的高效应用。 应用开发套件 应用开发套件是盘古大模型平台的关键模块,支持提示词工程和AI助手创建。该套件提供提示词设计和管理工具,优化大模型的输入提示,提升输出的准确性和相关性。通过丰富的开发SDK,应用开发套件加速大模型应用的开发,满足复杂业务需求。
  • (可选)选择训练模式 当训练作业的算法框架选用的是预置框架的MindSpore类引擎、资源池类型选用的是Ascend资源时,则支持选择训练模式。ModelArts提供了3种训练模式供用户选择,支持根据实际场景获取不同的诊断信息,详细使用请参见训练模式选择。 普通模式:默认训练场景。 高性能模式:最小化调测信息,可以提升运行速度,适合于网络稳定并追求高性能的场景。 故障诊断模式:收集更多的信息用于定位,适合于执行出现问题需要收集故障信息进行定位的场景。此模式提供故障诊断,用户可以根据实际需求选择诊断类别。
  • 配置训练参数 训练过程中可以从OBS桶或者数据集中获取输入数据进行模型训练,训练输出的结果也支持存储至OBS桶中。创建训练作业时可以参考表4配置输入、输出、超参、环境变量等参数。 创建训练作业时选择的创建方式不同,训练作业的输入、输出和超参显示不同。如果参数值置灰,即表示该参数已经在算法代码中配置了且不支持修改。 表4 配置训练参数 参数名称 子参数 说明 输入 参数名称 算法代码需要通过“输入”的“参数名称”去读取训练的输入数据。 建议设置为“data_url”。训练输入参数要与所选算法的“输入”参数匹配,请参见创建算法时的表2。 数据集 单击“数据集”,在ModelArts数据集列表中勾选目标数据集并选择对应的版本。 训练启动时,系统将自动下载输入路径中的数据到训练运行容器。 说明: ModelArts数据管理模块在重构升级中,对未使用过数据管理的用户不可见。建议新用户将训练数据存放至OBS桶中使用。 数据存储位置 单击“数据存储位置”,从OBS桶中选择训练输入数据的存储位置。 训练启动时,系统将自动下载输入路径中的数据到训练运行容器。 获取方式 以参数名称为“data_path”的训练输入为例,说明获取方式的作用。 当参数的“获取方式”为“超参”时,可以参考如下代码来读取数据。 import argparse parser = argparse.ArgumentParser() parser.add_argument('--data_path') args, unknown = parser.parse_known_args() data_path = args.data_path 当参数的“获取方式”为“环境变量”时,可以参考如下代码来读取数据。 import os data_path = os.getenv("data_path", "") 输出 参数名称 算法代码需要通过“输出”的“参数名称”去读取训练的输出目录。 建议设置为“train_url”。训练输出参数要与所选算法的“输出”参数匹配,请参见创建算法时的表3。 数据存储位置 单击“数据存储位置”,从OBS桶中选择训练输出数据的存储位置。训练过程中,系统将自动从训练容器的本地代码目录下同步文件到数据存储位置。 说明: 数据存储位置仅支持OBS路径。为避免数据存储冲突,建议选择一个空目录用作“数据存储位置”。 获取方式 以参数名称为“train_url”的训练输出为例,说明获取方式的作用。 当参数的“获取方式”为“超参”时,可以参考如下代码来读取数据。 import argparse parser = argparse.ArgumentParser() parser.add_argument('--train_url') args, unknown = parser.parse_known_args() train_url = args.train_url 当参数的“获取方式”为“环境变量”时,可以参考如下代码来读取数据。 import os train_url = os.getenv("train_url", "") 预下载至本地目录 选择是否将输出目录下的文件预下载至本地目录。 不下载:表示启动训练作业时不会将输出数据的存储位置中的文件下载到训练容器的本地代码目录中。 下载:表示系统会在启动训练作业时自动将输出数据的存储位置中的所有文件下载到训练容器的本地代码目录中。下载时间会随着文件变大而变长,为了防止训练时间过长,请及时清理训练容器的本地代码目录中的无用文件。如果要使用断点续训练和增量训练,则必须选择“下载”。 超参 - 超参用于训练调优。此参数由选择的算法决定,如果在算法中已经定义了超参,则此处会显示算法中所有的超参。 超参支持修改和删除,状态取决于算法中的超参“约束”设置,详情请参见定义超参。 说明: 为保证数据安全,请勿输入敏感信息,例如明文密码。 环境变量 - 根据业务需求增加环境变量。训练容器中预置的环境变量请参见查看训练容器环境变量。 说明: 为保证数据安全,请勿输入敏感信息,例如明文密码。 自动重启 - 打开开关后,可以设置重启次数和是否启用无条件自动重启。 打开自动重启开关后,当由于环境问题导致训练作业异常时,系统将自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力,开启此功能前请确认代码已适配断点续训,操作指导请参见断点续训练和增量训练。 重启次数的取值范围是1~128,缺省值为3。创建训练后不支持修改重启次数,请合理设置次数。 勾选无条件自动重启后,只要系统检测到训练异常,就无条件重启训练作业。为了避免无效重启浪费算力资源,系统最多只支持连续无条件重启3次。 当训练过程中触发了自动重启,则系统会记录重启信息,在训练作业详情页可以查看故障恢复详情,具体请参见查看故障恢复详情。
  • 后续操作 当创建训练作业的参数配置完成后,单击“提交”,在信息确认页面单击“确定”,提交创建训练作业任务。 训练作业一般需要运行一段时间,前往训练作业列表,可以查看训练作业的基本情况。 在训练作业列表中,刚创建的训练作业状态为“等待中”。 当训练作业的状态变为“已完成”时,表示训练作业运行结束,其生成的模型将存储至对应的“输出”目录中。 当训练作业的状态变为“运行失败”或“异常”时,可以单击训练作业的名称进入详情页面,通过查看日志等手段处理问题。 训练作业运行过程中将按照选择的资源进行计费。
  • 选择创建方式(使用预置镜像) 如果选择使用预置镜像创建训练作业,则参考表2选择训练作业的创建方式。 表2 创建训练作业的创建方式(使用预置镜像) 参数名称 说明 创建方式 必选,选择“自定义算法”。 启动方式 必选,选择“预置框架”,并选择训练作业要使用的预置框架引擎和引擎版本。 如果引擎版本选择“自定义”,则需要配置“镜像”参数,选择 自定义镜像 用于训练作业。 镜像 仅当预置框架的引擎版本选择“自定义”时才显示该参数,且是必填参数。 容器镜像地址的填写支持如下方式。 选择自有镜像或他人共享的镜像:单击右边的“选择”,从容器镜像中选择用于训练的容器镜像。所需镜像需要提前上传到SWR服务中。 选择公开镜像:直接输入SWR服务中公开镜像的地址。地址直接填写“组织名称/镜像名称:版本名称”,不需要带 域名 信息,系统会自动拼接域名地址。 代码目录 必填,选择训练代码文件所在的OBS目录。 需要提前将代码上传至OBS桶中,目录内文件总大小要小于或等于5GB,文件数要小于或等于1000个,文件深度要小于或等于32。 训练代码文件会在训练作业启动的时候被系统自动下载到训练容器的“${MA_JOB_DIR}/demo-code”目录中,“demo-code”为存放代码目录的最后一级OBS目录。例如,“代码目录”选择的是“/test/code”,则训练代码文件会被下载到训练容器的“${MA_JOB_DIR}/code”目录中。 启动文件 必填,选择代码目录中训练作业的Python启动脚本。 ModelArts只支持使用Python语言编写的启动文件,因此启动文件必须以“.py”结尾。 本地代码目录 指定训练容器的本地目录,启动训练时系统会将代码目录下载至此目录。 此参数可选,默认本地代码目录为“/home/ma-user/modelarts/user-job-dir”。 工作目录 训练时,系统会自动cd到此目录下执行启动文件。
  • 前提条件 已经将用于训练作业的数据上传至OBS目录。 已经在OBS目录下创建了至少1个空的文件夹,用于存储训练输出的内容。 ModelArts不支持加密的OBS桶,创建OBS桶时,请勿开启桶加密。 由于训练作业运行需消耗资源,为了避免训练失败请确保账户未欠费。 确保使用的OBS目录与ModelArts在同一区域。 检查是否配置了访问授权。如果未配置,请参见使用委托授权完成操作。 (可选)如果使用已有算法创建训练作业,需要确认“算法管理”中已准备好算法,具体操作请参见准备算法简介。 (可选)如果使用自定义镜像创建训练作业,需要上传镜像到SWR服务中。
  • 操作流程介绍 创建训练作业的操作步骤如下所示。 进入创建训练作业页面。 配置训练作业基本信息。 根据不同的算法来源,选择不同的训练作业创建方式。 使用预置镜像创建训练作业:选择创建方式(使用预置镜像) 使用自定义镜像创建训练作:选择创建方式(使用自定义镜像) 使用已有算法创建训练作业:选择创建方式(使用我的算法) 使用订阅算法创建训练作业:选择创建方式(使用订阅算法) 配置训练参数:配置训练作业的输入、输出、超参、环境变量等参数。 根据需要选择不同的资源池用于训练作业,推荐使用专属资源池,两者的差异说明请参见专属资源池和公共资源池的能力差异。 配置资源池(公共资源池) 配置资源池(专属资源池) (可选)选择训练模式:当训练作业的算法框架选用的是预置框架的MindSpore类引擎、资源池类型选用的是Ascend资源时,则支持选择训练模式。 (可选)设置标签:如果需要对训练作业进行资源分组管理,可以设置标签。 后续操作。
共100000条