注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
资源透明度报告可以在资源管理应用程序中查看,用户可以看到项目和Ontology消耗的计算和存储资源的细分。
Foundry是一个在数据之上运行计算工作的平台。这项工作是通过Foundry 计算秒
进行衡量的。计算秒代表平台中的一个计算工作单位,并被批处理(长时间运行)和交互式(即席)应用程序所使用。这些计算秒可以由多种因素驱动,包括并行计算执行器的数量、计算执行器的大小、正在处理的数据大小以及计算任务的复杂性。
Foundry中的许多计算框架以"并行"方式运行,这意味着多个执行器同时处理同一个任务。并行化显著加速了大多数任务的执行,但每单位时间消耗更多的计算秒。
一个重要的术语是实时时间。实时时间,也称为经过的实际时间,是从开始到测量点的过程中,墙上的时钟或秒表测得的实际时间。换句话说,实时时间是任务开始和任务结束之间的时间差(以秒为单位)。需要注意的是,每秒实时时间可以使用许多Foundry计算秒,并且不同的任务类型根据其配置以不同的速率使用计算秒。
实时时间与Foundry计算秒的一个有用的类比是人力小时。两个人每人工作8小时工作日,即使他们工作的实时时间只有8小时,他们也产生了16小时的人力工作量。
并行批处理计算代表以"批处理"方式运行的查询或任务,这意味着它们在某个计划的节奏或即席基础上在后台触发运行。批处理计算任务在不运行时不消耗任何计算资源。Foundry会在这些任务被触发时自动分配计算资源。计算使用在资源被配置时开始计量,直到它们被从任务中释放。
为了提供平台上计算资源使用的洞察,vCPU和内存使用情况会针对单个任务进行测量,并在数据集和对象级别上报告。
目前,以下批处理计算任务被监控:
交互式计算代表实时评估的查询,通常是交互式用户会话的一部分。为了提供快速响应,交互式计算系统保持始终在线的空闲计算,这意味着交互式查询比批处理评估更昂贵。
交互式使用情况针对每个查询进行报告 - 一个查询消耗其调度的后端应用程序的公平份额。然后,这种使用情况在项目级别汇总,就像批处理计算一样。
目前,以下应用程序的查询包含在交互式计算使用中:
持续计算由始终在线的处理任务使用,这些任务始终可用以接收消息并使用任意逻辑处理它们。
持续计算是根据任务准备接收消息和执行工作的时间长度来衡量的。
目前,以下应用程序的使用情况包含在持续计算中:
创建持续计算任务的能力在所有Foundry环境中不可用。如果您的应用案例需要,请联系您的Palantir代表以获取更多信息。
对于并行处理计算,我们通过测量两个指标生成计算秒:核心秒和内存到核心比率。
核心秒反映了任务持续时间内使用的vCPU核心数量。例如,2个核心使用3秒会产生6个核心秒。任务的持续时间是提交任务和任务报告完成之间的时间。这包括启动时间和任务清理时间。
为了确定某个任务使用了多少核心,检查任务的属性。具体来说,考虑执行器的数量、执行器的vCPU核心数量以及驱动程序。
平台中常见的并行计算引擎是Spark。一些用户可能只与Spark配置服务配置文件交互,这些配置文件以“大小”提供预先确定的Spark配置。通常,这些属性在任务的Spark配置文件中指定,或设置为系统默认值。
例如:
spark.driver.cores = 3 # 设置Driver的CPU核心数为3
spark.executor.cores = 2 # 设置Executor的CPU核心数为2
在此示例中,总核心秒数可以通过以下方式计算:
Copied!1 2 3 4 5 6
core_seconds = (num_driver_cores + num_executor_cores * num_executors) * job_duration_in_seconds # 计算任务所消耗的核心秒数 # num_driver_cores: 驱动程序使用的核心数 # num_executor_cores: 每个执行器使用的核心数 # num_executors: 执行器的数量 # job_duration_in_seconds: 任务执行的时间长度(秒)
使用基于分配的vCPU核心,而不是这些核心的利用率。我们建议只为您的任务申请必要的资源,以避免过度分配。
鉴于实时计算主机具有固定的内存与核心比率,我们必须考虑每个核心使用多少GiB的内存。假设我们有一个具有四个核心和32GiB内存的主机。在这个主机上,我们可以安排四个任务,每个任务请求一个核心和8GiB内存。然而,如果其中一个任务请求更多的内存,如16GiB,其它任务将无法利用额外的核心,因为内存不足。这意味着其余的任务之一将需要额外的容量。因此,内存与核心的比率是计算秒计算的关键部分。
在Foundry中,默认的内存与核心比率是每个核心7.5 GiB
。
Foundry的计算秒反映了vCPU核心的数量和为任务保留的内存量。计算秒将核心秒与保留的内存量结合起来。
总结来说,我们通过取两个因素的最大值来计算计算秒:
这可以用以下表达式表示:max(num_vpcu, gib_ram / 7.5)
请考虑以下具有以下特征的示例:
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
vcpu_per_executor = 1 # 每个执行器的虚拟CPU数 ram_per_executor = 12 # 每个执行器的内存(GB) num_executors = 2 # 执行器数量 num_seconds = 5 # 执行时间(秒) default_memory_to_core_ratio = 7.5 # 默认的内存到核心比率 job_memory_multiplier = 12 / 7.5 = 1.6 # 作业内存乘数 # 计算作业的核心秒数 job_core_seconds = num_vcpu * num_excutors * num_seconds job_core_seconds = 1 * 2 * 5 = 10 # 计算作业的计算秒数 job_compute_seconds = max(num_vcpu, job_memory_multiplier) * num_executors * num_seconds job_compute_seconds = max(1vcpu, 1.6mem-to-core) * 2executors * 5sec job_compute_seconds = 16 compute-seconds
注意:代码中变量num_vcpu
在计算job_core_seconds
时未定义,应该是vcpu_per_executor
。请将num_vcpu
替换为vcpu_per_executor
。此外,变量num_excutors
拼写错误,应为num_executors
。
我们可以看到,虽然任务只使用了10核秒,但由于过大的内存请求,总共使用了16计算秒。
在Foundry中,有各种可按需查询的索引存储。每个索引存储在执行查询时使用计算秒。有关查询如何使用计算秒的文档,请参阅以下文档。
Foundry的Ontology和索引数据格式提供了用于快速、以组织为中心的查询和操作的工具。这些支持系统以显著更灵活的格式存储数据,以便于临时操作和分析应用案例。Ontology体积以千兆字节-月
为单位衡量。
Ontology体积的使用情况在以下系统中跟踪:
同步数据集的大小可能与Foundry中的大小不同。这是因为每个系统使用不同的设计或压缩来存储和提供数据。
Foundry存储测量存储在Foundry中非Ontology变换层的一般用途数据。磁盘使用量以千兆字节-月
为单位衡量。
每个数据集的存储使用量是单独计算的。数据集分支和先前的事务(和视图)会影响单个数据集消耗的磁盘空间。当通过DELETE
事务从视图中移除文件时,文件不会从基础存储中移除,因此继续累积存储成本。总磁盘使用量通过两个步骤计算:
减少大小的唯一方法是使用保留来清理不必要的事务。提交一个DELETE
事务或更新分支不会减少使用的存储。
Ontology体积使用主要归属于每个对象输入数据源的项目。在查看任何项目的细粒度使用详情时,Foundry资源和对象会并排显示,如下所示。
有些对象无法归属于单个项目;例如,一个对象可能有多个跨多个项目的输入数据源。在这种情况下,使用归属于Ontology本身,如下所示。
通常,对象累积以下类型的使用:
Foundry所有产品完成的所有计算工作都表示为计算秒
。在Foundry平台中,计算秒
不是时间的度量,而是平台执行的工作单位。计算秒
是平台中的原子工作单位,意味着它是Foundry中计算测量的最小粒度。请参见下表,了解每种Foundry产品类型如何使用计算秒。
Foundry所有产品的所有存储使用都表示为千兆字节-月
,这是对分配存储随时间推移的度量。1GB的数据文件每月消耗1GB月的使用量。
存储体积是按小时计算的,而千兆字节-月
值是从该月期间的总小时测量中计算得出的。例如,对于一个有30天的月份:
Days 0-3 - 0GB volume
Day 4, 06:00 - 3GB volume (3GB added) # 第4天上午6点增加了3GB
Days 5-10 - 3GB volume (no change from day 3) # 第5到第10天保持3GB,不变
Day 11, 00:00 - 6GB volume (3GB added) # 第11天凌晨增加了3GB,总共6GB
Days 11-20 - 6GB volume (no change) # 第11到第20天保持6GB,不变
Day 21, 00:00 - 3GB volume (3GB deleted) # 第21天凌晨删除了3GB,剩余3GB
Days 21-30 - 3GB volume (no change) # 第21到第30天保持3GB,不变
Total:
(0GB * 4 days + 3GB * (18hrs/24) days + 3GB * 6 days + 6GB * 10 days + 3GB * 10 days) / 30 days
= 3.675 gigabyte-months of usage # 平均使用量为3.675 GB-月
由于每月的天数不同,相同存储量每天产生的千兆字节-月
将会随每月而变化。例如:
Copied!1 2 3 4 5 6 7 8 9 10 11
90GB stored for 1 day in a month with 30 days will consume: (90GB * 1 day) / 30 days = 3 gigabyte-months # 在一个有30天的月份中储存90GB数据1天将消耗: # (90GB * 1天) / 30天 = 3 gigabyte-months 90GB stored for 1 day in a month with 31 days will consume: (90GB * 1 day) / 31 days = 2.90 gigabyte-months # 在一个有31天的月份中储存90GB数据1天将消耗: # (90GB * 1天) / 31天 = 2.90 gigabyte-months
这意味着,当查看一个固定大小数据集的存储使用时,按天或按周计算的 gigabyte-months
会有一些波动;整个月份消耗的 gigabyte-months
则不会波动。
Foundry应用程序 | Foundry计算 | Foundry Ontology容量 | Foundry存储 |
---|---|---|---|
代码库 (Python, Java, SQL, GPU, Mesa) | 是 | 否 | 是 |
流媒体库 | 是 | 否 | 否 |
Pipeline搭建器 | 是 | 否 | 是 |
准备 | 是 | 否 | 是 |
数据连接 (基于代理) | 否 | 否 | 是 |
数据连接 (云引入) | 是 | 否 | 是 |
数据健康 | 是 | 否 | 否 |
数据集投影 | 是 | 否 | 否 |
对象索引 (Phonograph2) | 是 | 是 | 否 |
时间序列索引 | 是 | 否 | 否 |
食谱 | 是 | 否 | 否 |
Foundry应用程序 | Foundry计算 | Foundry Ontology容量 | Foundry存储 |
---|---|---|---|
代码工作簿:Spark | 是 | 否 | 是 |
代码工作簿:GPU | 是 | 否 | 是 |
Contour分析 | 是 | 否 | 否 |
Contour搭建和仪表盘 | 是 | 否 | 是 |
报告 | 是 (来自其他应用程序) | 否 | 否 |
限制视图 | 是 | 否 | 否 |
笔记本 | 是 (来自其他应用程序) | 否 | 否 |
Fusion | 否 | 是 | 是 (数据输出) |
Foundry应用程序 | Foundry计算 | Foundry Ontology容量 | Foundry存储 |
---|---|---|---|
Foundry ML批量 | 是 | 否 | 是 |
Foundry ML实时 | 是 | 否 | 否 |
Foundry应用程序 | Foundry计算 | Foundry Ontology容量 | Foundry存储 |
---|---|---|---|
Ontology对象 | 是 | 是 | 是 (导出) |
Ontology关系表 | 是 | 是 | 是 (导出) |
Ontology操作 | 是 | 是 (数据输出) | 否 |
直接对象存储V1索引 | 是 | 是 | 是 (导出) |
Postgres索引 | 是 | 是 | 否 |
直接Lime索引 | 是 | 是 | 否 |
Foundry规则 | 是 | 是 | 是 |
备注:
是 (数据输出)
指的是将用户编辑或用户创建的对象存储到Foundry中的对象集的过程。
是 (导出)
指的是将用户编辑存储到Foundry中指定的数据输出数据集的过程。
是 (来自其他应用程序)
指的是由其他嵌入的Foundry应用程序产生的使用,例如嵌入在笔记本文档中的Contour面板。
AIP计算使用涉及大型语言模型(LLM)。基本上,LLM将文本作为输入,并以文本作为输出。文本输入和输出的量以词元衡量。 LLM的计算使用以每一定数量的词元的计算秒数衡量。不同的模型可能有不同的计算使用率,如下所述#measuring-compute-with-aip。
词元定义为构成基础LLM可计数单位的单词(或部分单词)。不同的模型提供者对构成词元的定义各不相同;例如,OpenAI ↗ 和 Anthropic ↗。平均来说,词元大约为4个字符长,其中字符是单个字母或标点符号。
在AIP中,词元被应用程序消耗,这些应用程序向LLM发送提示并接收提示。这些提示和响应都包含可测量数量的词元。这些词元可以发送到多个LLM提供者;由于提供者之间的差异,这些词元会转换为计算秒数以匹配基础模型提供者的价格。
所有提供LLM支持功能的应用程序在使用时都会消耗词元。请参阅以下可能在与其LLM支持功能交互时使用词元的应用程序列表。
如果您与Palantir有企业合同,在进行计算使用计算之前请联系您的Palantir代表。以下部分仅详细说明词元的默认计算秒乘数。
下表列出了可用模型的计算秒数费率。价格以每10,000个词元的计算秒数为单位。请注意,输入和输出词元的定价因模型提供者而异,这意味着它们的计算秒数等价也将不同。
模型 | Foundry云提供商 | Foundry区域 | 每万输入词元的计算秒数 | 每万输出词元的计算秒数 |
---|---|---|---|---|
GPT-3.5T ↗ | AWS | 北美 | 25.2 | 33.6 |
AWS | 欧盟 / 英国 | 21.3 | 28.4 | |
AWS | 南美 / 亚太 / 中东 | 17.3 | 23.1 | |
GPT-3.5T 16k ↗ | AWS | 北美 | 50.4 | 67.2 |
AWS | 欧盟 / 英国 | 42.6 | 56.9 | |
AWS | 南美 / 亚太 / 中东 | 34.7 | 46.2 | |
GPT-4 ↗ | AWS | 北美 | 504 | 1010 |
AWS | 欧盟 / 英国 | 426 | 853 | |
AWS | 南美 / 亚太 / 中东 | 347 | 693 | |
GPT-4 32k ↗ | AWS | 北美 | 1010 | 2020 |
AWS | 欧盟/英国 | 853 | 1710 | |
AWS | 南美 / 亚太 / 中东 | 693 | 1390 | |
GPT-4 Turbo ↗ | AWS | 北美 | 168 | 504 |
AWS | 欧盟 / 英国 | 142 | 426 | |
AWS | 南美 / 亚太 / 中东 | 116 | 347 | |
GPT-4 Vision ↗ | AWS | 北美 | 168 | 504 |
AWS | 欧盟 / 英国 | 142 | 426 | |
AWS | 南美 / 亚太 / 中东 | 116 | 347 | |
GPT-4o ↗ | AWS | 北美 | 77 | 232 |
AWS | 欧盟 / 英国 | 65 | 196 | |
AWS | 南美 / 亚太 / 中东 | 53 | 159 | |
GPT-4o mini ↗ | AWS | 北美 | 2.6 | 10.3 |
AWS | 欧盟 / 英国 | 2.2 | 8.7 | |
AWS | 南美 / 亚太 / 中东 | 1.8 | 7.1 | |
Anthropic Claude 2 ↗ | AWS | 北美 | 137 | 412 |
AWS | 欧盟 / 英国 | 116 | 349 | |
AWS | 南美 / 亚太 / 中东 | 95 | 284 | |
Anthropic Claude 3 ↗ | AWS | 北美 | 52 | 258 |
AWS | 欧盟 / 英国 | 44 | 218 | |
AWS | 南美 / 亚太 / 中东 | 35 | 177 | |
Anthropic Claude 3 Haiku ↗ | AWS | 北美 | 4.3 | 21.5 |
AWS | 欧盟 / 英国 | 3.6 | 18.2 | |
AWS | 南美 / 亚太 / 中东 | 3.0 | 14.8 | |
Anthropic Claude 3.5 Sonnet ↗ | AWS | 北美 | 52 | 258 |
AWS | 欧盟 / 英国 | 44 | 218 | |
AWS | 南美 / 亚太 / 中东 | 35 | 177 | |
ada embedding ↗ | AWS | 北美 | 1.68 | 不适用 |
AWS | 欧盟 / 英国 | 1.42 | 不适用 | |
AWS | 南美 / 亚太 / 中东 | 1.16 | 不适用 | |
text-embedding-3-large ↗ | AWS | 北美 | 2.24 | 不适用 |
AWS | 欧盟 / 英国 | 1.89 | 不适用 | |
AWS | 南美 / 亚太 / 中东 | 1.54 | 不适用 | |
text-embedding-3-small ↗ | AWS | 北美 | 0.34 | 不适用 |
AWS | 欧盟 / 英国 | 0.29 | 不适用 | |
AWS | 南美 / 亚太 / 中东 | 0.24 | 不适用 | |
Mistral 7B ↗ | AWS | 北美 | 32 | 82 |
AWS | 欧盟 / 英国 | 27 | 69 | |
AWS | 南美 / 亚太 / 中东 | 22 | 56 | |
Mitral 8X7B ↗ | AWS | 北美 | 96 | 287 |
AWS | 欧盟 / 英国 | 81 | 243 | |
AWS | 南美 / 亚太 / 中东 | 66 | 198 | |
Llama 2_13B ↗ | AWS | 北美 | 144 | 478 |
AWS | 欧盟 / 英国 | 122 | 405 | |
AWS | 南美 / 亚太 / 中东 | 99 | 329 | |
Llama 2_70B ↗ | AWS | 北美 | 144 | 478 |
AWS | 欧盟 / 英国 | 122 | 405 | |
AWS | 南美 / 亚太 / 中东 | 99 | 329 | |
Llama 3_8B ↗ | AWS | 北美 | 144 | 478 |
AWS | 欧盟 / 英国 | 122 | 405 | |
AWS | 南美 / 亚太 / 中东 | 99 | 329 | |
Llama 3_70B ↗ | AWS | 北美 | 144 | 478 |
AWS | 欧盟 / 英国 | 122 | 405 | |
AWS | 南美 / 亚太 / 中东 | 99 | 329 | |
Llama 3.1_8B ↗ | AWS | 北美 | 158 | 525 |
AWS | 欧盟 / 英国 | 133 | 444 | |
AWS | 南美 / 亚太 / 中东 | 108 | 361 | |
Llama 3.1_70B ↗ | AWS | 北美 | 158 | 525 |
AWS | 欧盟 / 英国 | 133 | 444 | |
AWS | 南美 / 亚太 / 中东 | 108 | 361 | |
Snowflake Arctic Embed ↗ | AWS | 北美 | 38 | 38 |
AWS | 欧盟 / 英国 | 32 | 32 | |
AWS | 南美 / 亚太 / 中东 | 26 | 26 | |
Gemini 1.5 Flash ↗ | AWS | 北美 | 1.3 | 5.2 |
AWS | 欧盟 / 英国 | 1.1 | 4.4 | |
AWS | 南美 / 亚太 / 中东 | 0.9 | 3.5 | |
Gemini 1.5 Pro ↗ | AWS | 北美 | 21 | 86 |
AWS | 欧盟 / 英国 | 18 | 73 | |
AWS | 南美 / 亚太 / 中东 | 15 | 59 |
AIP将文本直接路由到支持的LLM,这些LLM自行运行词元化。文本的大小将决定支持模型用于提供响应的计算量。
了解词元化也很重要。以下是一个发送到GPT-4
模型的示例句子。
The quick brown fox jumps over the lazy dog.
这个句子包含44个字符,将以以下方式词元化,每个词元之间用|
字符分隔:
The| quick| brown| fox| jumps| over| the| lazy| dog|.
因此,这个句子包含10个词元,并将使用以下数量的计算秒数:
Copied!1 2 3 4 5 6
compute-seconds = 10 tokens * 504 compute-seconds / 10,000 tokens # 计算compute-seconds的公式:10个tokens乘以每10,000个tokens需要的compute-seconds数504 compute-seconds = 10 * 504 / 10,000 # 执行计算,得到结果 compute-seconds = 0.504 # 计算结果为0.504 compute-seconds
由LLM词元导致的计算秒数的使用直接附加到请求使用的单个应用资源上。例如,如果您使用AIP在Pipeline Builder中自动解释一个管道,LLM用于生成该解释的计算秒数将归属于该特定管道。这在整个平台中都是如此;牢记这一点将帮助您跟踪您在哪些地方使用了词元。
在某些情况下,计算使用并不归属于平台中的单个资源;例如AIP Assist和错误解释器等。当使用不归属于单个资源时,词元将归属于发起使用词元的用户文件夹。
我们建议您保持对代表您发送到LLM的词元的关注。通常,您在使用LLM时包含的信息越多,使用的计算秒数就越多。例如,以下场景描述了不同的计算秒数使用方式。