You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery ML训练矩阵分解模型,配置预留槽后仍报错求助

问题解决:BigQuery ML矩阵分解模型训练仍提示需预留资源

问题描述

执行以下BigQuery ML创建矩阵分解模型的SQL:

BEGIN
CREATE OR REPLACE MODEL `recommendation_engine_ds.purchase_recommender`
OPTIONS(model_type='matrix_factorization',
        user_col='customer_id',
        item_col='item_id',
        rating_col='rating',
        feedback_type='implicit'
        )
AS
SELECT customer_id, item_id, rating 
FROM `unique-moon-366800.recommendation_engine_ds.quality_matrix`;
END

收到错误:

Query error: Training Matrix Factorization models is not available for on-demand usage. To train, please set up a reservation (flex or regular) based on instructions in BigQuery public do

已创建资源预留相关存储过程并执行,但问题依旧:

BEGIN
CREATE CAPACITY `unique-moon-366800.region-us-central1.my-commitment` 
AS JSON """{
 "slot_count": 100,
 "plan": "FLEX"
}""";
CREATE RESERVATION `unique-moon-366800.region-us-central1.my-reservation`
AS JSON """{
 "slot_capacity": 100
}""";
CREATE ASSIGNMENT `unique-moon-366800.region-us-central1.my-reservation.my-assignment`
AS JSON """{
 "assignee": "projects/unique-moon-366800",
 "job_type": "QUERY"
}""";
END

解决步骤

1. 等待Flex容量承诺生效

Flex类型的容量承诺创建后不会立即激活,通常需要5-10分钟完成配置。执行完存储过程后,先等待一段时间再尝试训练模型。

2. 确认区域与资源配置匹配

  • 确保模型训练作业的运行区域和预留资源的区域一致(你的预留资源在region-us-central1,需手动指定查询区域,避免使用默认区域)。
  • 验证分配规则的assignee是否正确指向目标项目,job_type: QUERY已覆盖ML训练类作业,配置本身无问题。

3. 强制指定查询使用预留资源

在训练模型的SQL中,通过参数强制绑定预留资源:

--reservation_id=unique-moon-366800.region-us-central1.my-reservation
BEGIN
CREATE OR REPLACE MODEL `recommendation_engine_ds.purchase_recommender`
OPTIONS(model_type='matrix_factorization',
        user_col='customer_id',
        item_col='item_id',
        rating_col='rating',
        feedback_type='implicit'
        )
AS
SELECT customer_id, item_id, rating 
FROM `unique-moon-366800.recommendation_engine_ds.quality_matrix`;
END

如果使用BigQuery UI执行,可在「查询设置」中直接选择对应的预留资源。

4. 检查容量承诺状态

在BigQuery控制台的「资源管理 > 容量承诺」页面,确认my-commitment的状态为「活跃(Active)」,若处于「待处理(Pending)」状态,需等待激活完成。

5. 调整槽位数量(可选)

如果数据集规模较大,100个槽位可能不足以支撑训练,可尝试将slot_count调整为200或更高,重新创建容量承诺与预留资源。

内容的提问来源于stack exchange,提问作者AVWS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 13:45:26