更新时间:2024-09-04
背景信息
模型推理通常指的是使用大型的机器学习模型,尤其是深度学习模型,来进行数据分析、预测或生成等任务的过程。通过在同一平台上集成训练和推理功能,减少了数据传输和转换的开销,提高了整体效率。
前提条件
- 在容器服务中创建负载均衡器
- 配置平台存储
- 创建算力池
- 创建云原生网关实例
- 授权GPU
- 上传模型
约束与限制
- 天数天垓卡仅支持普通模式推理
- 英伟达卡和天数智铠支持高性能模式推理
- 模型支持:[6]Llama2-7b、Llama2-13b、Baichuan2-7b、Baichuan2-13b、Qwen2-72b、Yi1.5-34b
- 普通模式推理不支持加密和压缩的模型
- 平台最大支持500个推理任务
- 单个网关使用最大端口数量不能超过16个,超过请选择其他网关
- 同租户任务名称不能重复
- 上传新推理镜像后不会自动更新到已运行推理任务中,需要手动点击更新
操作步骤
步骤1 使用浏览器,用SCP的管理员或SCP租户登录SCP控制台
管理员场景登录地址:https:// SCP的访问地址:4430。例如https://192.168.200.100:4430/
租户场景登录地址:https:// SCP的访问地址。例如https://192.168.200.100
步骤2 在导航栏左上角单击 ,选择人工智能模块,选择“AI算力平台 ”,进
入AICP控制台页面
步骤3 单击左侧导航栏的“模型服务”,进入模型推理管理页面
步骤4 在模型推理页面,单击“创建”,进入模型推理创建页面
步骤5 在创建模型推理页面,填写相关配置进行推理,基础配置和资源配置为必填,高级设置可按需进行参数设置
[7]
参数说明
参数 |
解释 |
推荐样例 |
算力池 |
使用的算力资源池 |
|
网关 |
网关用于连接不同网络并实现数据的传输和转换 |
|
访问入口 |
通过提供的url访问对应的推理服务 |
|
单实例算力 |
单实例服务使用的算力规格 请根据模型参数量级设置单个实例的算力规格 |
参考示例:<30B:2 算力规格;30B-70B:4 到 8 算力规格;>70B:8 到 16 算力规格 |
实例数量 |
实例服务副本数 设置多实例可提高服务性能 |
|
异步批推理 |
是一种在机器学习和深度学习中常用的技术,旨在提高模型推理的效率和吞吐量,异步批推理可以在接收到多个推理请求时,将这些请求合并成批次,并行处理。 模型推理中的异步批推理具有以下用途,并主要用于解决以下几类问题: 用途: 提高推理效率:通过将多个推理请求组合成一批进行处理,可以减少模型加载、初始化和数据传输等操作的开销,从而显著提高整体的推理速度。 优化资源利用:充分利用计算资源,尤其是在 GPU 等并行计算设备上,能够同时处理多个推理任务,提高硬件的利用率。 降低响应延迟的平均水平:虽然单个请求的响应时间可能有所增加,但通过批量处理可以使整体的平均响应延迟降低,特别适用于对延迟要求不是特别严格的场景。 解决的问题: 资源闲置问题:在传统的同步推理中,可能会出现计算资源在等待单个请求处理完成时处于闲置状态的情况,异步批推理可以避免这种资源浪费。 处理突发流量:当面临大量并发的推理请求时,能够更有效地应对流量高峰,避免系统因单个请求的处理而出现拥堵或响应缓慢。 平衡性能和成本:在保证一定服务质量的前提下,通过批量处理减少对计算资源的过度配置,从而降低成本。 例如,在一个模型服务中,短时间内接收到大量的输入需要进行识别推理。如果采用同步推理,可能会导致部分请求长时间等待。而使用异步批推理,可以将这些输入分成若干批同时进行处理,提高处理效率,减少用户的平均等待时间。 |
开启 |
数据回流 |
可将服务数据保存,经人工筛选、调整、处理后可以用于下一次的模型优化训练。 模型推理的数据回流具有以下用途,并主要用于解决以下问题: 用途: 模型改进和优化:将推理过程中产生的数据反馈回训练集,用于进一步训练和优化模型,使其能够更好地适应新的情况和变化。 数据增强:丰富原始训练数据,为模型提供更多样化的样本,有助于提高模型的泛化能力和鲁棒性。 监控和评估:通过分析回流的数据,可以监控模型在实际应用中的表现,发现潜在的问题和偏差。 解决的问题: 数据过时:随着时间推移,原始训练数据可能不再能代表现实情况,数据回流可以使模型不断更新和适应新的模式。 模型偏差纠正:如果模型在推理中出现了某些偏差或错误,回流的数据可以帮助发现并纠正这些问题。 应对罕见情况:将实际推理中遇到的罕见但重要的情况回流,使模型能够学习和处理这些特殊情况。 |
推荐开启的场景: 在线学习场景:当模型需要持续学习和更新,以适应不断变化的环境和用户需求时,如推荐系统、实时预测等。 数据稀缺领域:在数据相对较少或获取成本高的领域,回流数据可以有效地补充训练数据。 对模型准确性要求高且需要不断改进的场景:例如医疗诊断、金融风险预测等关键应用。 不推荐开启的场景: 对数据隐私要求极高的场景:如果回流的数据可能涉及敏感信息或违反隐私法规,应谨慎使用或避免开启。 模型性能稳定且变化不大的场景:如果模型已经能够很好地满足需求,且不需要进一步改进,开启数据回流可能带来不必要的复杂性和成本。 数据质量不可靠或噪声较大的场景:如果回流的数据质量差,可能会对模型产生负面影响。 例如,在一个电商推荐系统中,用户的实时行为数据可以回流到模型中,帮助模型及时调整推荐策略以更好地满足用户需求。但在处理个人医疗数据的模型中,如果数据回流可能导致隐私泄露,就不推荐开启。 |
温度 |
temperature,调整输出的效果,数值越高输出越随机,数值越低输出越集中和确定。 用途: 控制输出的随机性:通过调整温度值,可以改变模型输出的确定性和随机性程度。 增加多样性:在生成文本等任务中,避免输出过于单一和模式化,提供更多样化的结果。 探索不同可能性:帮助发现一些不太常见但可能有价值的输出。 解决的问题: 模式化输出:当模型倾向于总是生成相似或常见的回答时,温度可以打破这种模式,增加创新性。 过拟合问题:在一定程度上缓解模型对训练数据的过度拟合,使其能够更灵活地应对新的输入。 需要注意的是,温度的最佳设置通常需要通过实验和对不同数值的效果评估来确定。 |
关于温度数值的推荐设置: 较低温度(接近 0):使模型的输出更确定、更接近训练数据中的常见模式,适用于需要准确和确定性回答的场景,例如问答系统中要求明确和准确的答案。 较高温度(如大于 1):增加输出的随机性和多样性,适用于需要创意、探索多种可能性的场景,比如文本生成中希望获得不同风格或思路的结果。 具体的数值设置取决于具体的应用场景和需求。例如,在创意写作辅助工具中,可以将温度设置为 1.5 或更高以激发更多的创意;而在一些要求准确性的法律或医疗问答系统中,温度可能设置在 0.5 以下。 |
多样性 |
top_p,影响文本输出的多样性,取值越大,生成文本的多样性越强 在模型推理任务中,“多样性”这一特性具有以下用途,并主要用于解决以下问题: 用途: 提供多种可能的解决方案或回答:有助于在生成类任务中,如文本生成、图像生成等,为用户提供更多的选择和思路。 激发创新和创造力:避免模型总是产生相似或常规的结果,鼓励出现新颖和独特的输出。 适应不同用户需求:满足不同用户对同一输入的多样化期望。 解决的问题: 输出同质化:防止模型总是给出高度相似的结果,导致缺乏新意和实用性。 局限性:突破模型由于训练数据和结构导致的固有思维模式,提供更广泛的可能性。 |
关于多样性数值的推荐设置,这往往没有一个固定的标准,而是取决于具体的应用场景和模型特点。一般来说: 对于需要高度精确和一致性的场景,如某些专业领域的问答、风险评估等,多样性数值应设置得较低,可能在 0.1 - 0.3 之间,以确保输出的准确性和稳定性。 对于创意类任务,如故事创作、广告文案生成等,多样性数值可以设置得较高,比如在 0.5 - 0.8 之间,甚至更高,以鼓励更多创新和独特的输出。 如果是在一个既有一定准确性要求又需要一定创新的场景,如产品设计建议、营销策略生成等,可以将多样性数值设置在 0.3 - 0.5 之间,寻找一个平衡。 例如,在为儿童生成故事的应用中,可以将多样性数值设置为 0.6 左右,让每个故事都有不同的情节发展和角色特点;而在金融风险评估模型的推理中,多样性数值可能设置为 0.1 ,以确保评估结果的一致性和可靠性。 |
重复惩罚 |
penalty_score,通过对已生成的 token 增加惩罚,减少重复生成的现象。值越大表示惩罚越大。 用途: 避免不期望的输出:通过对特定的输出模式或内容施加惩罚,引导模型生成更符合要求和期望的结果。 控制偏差:防止模型产生有偏差或不公平的预测,确保结果的公正性和合理性。 符合规则和约束:在存在特定规则、法律或道德约束的情况下,确保模型的输出不违反这些限制。 解决的问题: 伦理和道德问题:避免模型生成有害、歧视性或不道德的内容。 违反规则:防止模型的输出违反已知的业务规则、法律法规等。 过度冒险或不合理的预测:例如在金融预测中,避免模型给出过于激进或不切实际的预测。 |
关于惩罚性数值的推荐设置: 这通常取决于具体的任务、模型和应用场景。一般来说,惩罚性数值的起始设置可以较小,然后根据模型的输出效果逐步调整。 如果模型的初始输出存在明显的违反规则或不期望的情况,惩罚性数值可以设置得较高,例如 0.5 或更高,以强烈抑制这些不良输出。 随着模型的优化和调整,如果不期望的输出逐渐减少,可以适当降低惩罚性数值,以避免过度约束模型的创造力和灵活性。 例如,在一个信用评估模型中,如果模型倾向于给予某些特定群体过低的信用评分,可能会设置较高的惩罚性数值(如 0.7)来纠正这种偏差;而在一个文本生成模型中,为了避免生成包含敏感信息的内容,惩罚性数值可能设置为 0.2 - 0.3 。 需要注意的是,惩罚性数值的设置需要通过不断的实验和评估来找到最适合的平衡点,既要达到约束不良输出的目的,又不能过度影响模型的正常功能和性能。 |
自定义系统 prompt |
在自然语言处理和生成任务中,提示词(Prompt)是用于引导模型生成特定内容的输入文本。设计有效的提示词可以显著提高生成结果的质量和相关性。 用途: 引导输出方向:为模型提供明确的指导,使其生成更符合特定需求和上下文的结果。 补充背景信息:向模型传递额外的相关背景知识或场景描述,帮助模型更好地理解任务。 聚焦特定领域:当模型需要在特定的领域或主题内进行推理时,通过 prompt 来限定范围。 提高准确性和相关性:减少模型生成不相关或偏离主题的回答,提高输出的质量和有用性。 解决的问题: 模糊性:解决输入信息不够清晰或明确,导致模型输出不确定的问题。 缺乏上下文:当输入本身缺乏必要的背景和情境时,prompt 可以补充这些信息。 领域适应性:帮助模型在特定领域中更准确地进行推理和生成。 |
关于自定义系统 prompt 的设置,通常没有固定的数值,而是通过精心设计的文本描述来实现。以下是一些设置的建议: 清晰明确:用简洁、准确的语言表达需求和期望。 具体详细:提供足够的关键信息和约束条件。 突出重点:强调最重要的方面或关键元素。 例如,如果希望模型生成关于科技领域的文章摘要,可以设置这样的 prompt:“请为以下关于最新人工智能技术突破的文章生成一个准确且简洁的摘要,重点突出其应用和潜在影响。” 又比如,要求模型根据给定的客户反馈生成解决方案时,可以设置:“以下是一位客户对我们产品的不满和建议,请据此提出切实可行的改进方案,同时考虑成本和实施难度。” 总之,自定义系统 prompt 的设置需要根据具体的任务和需求,通过不断的试验和优化来找到最有效的表述方式。 |
自定义模型名 |
自定义推理服务使用的模型名称 |
|