SnowPro Specialty: Gen AI Question 205
Single answerCreate compute poolA data science team is deploying a containerized LLM inference service in Snowflake using Snowpark Container Services. The service must run on GPU-capable infrastructure, scale from zero when idle to control cost, and be created by an engineer who has been granted the minimum required privileges for infrastructure setup. Which action best meets these requirements when creating the compute pool?
- A
Create a compute pool with GPU-capable instance families, set an appropriate MIN_NODES and MAX_NODES range that allows scale-down to zero, and ensure the engineer has the CREATE COMPUTE POOL privilege on the account.
- B
Create a virtual warehouse with a larger warehouse size, enable auto-suspend, and grant the engineer CREATE WAREHOUSE because Snowpark Container Services uses warehouses for container execution.
- C
Create a compute pool with CPU-only instances, configure the service to request GPU resources later, and grant the engineer OWNERSHIP on the target database because database ownership is sufficient to create compute pools.
- D
Create a compute pool with GPU-capable instances and set MIN_NODES equal to MAX_NODES to guarantee elasticity, then grant the engineer CREATE COMPUTE POOL on the schema where the service will be deployed.
Show answer and explanation
Correct answer: A
Explanation
In Snowpark Container Services, containerized services run on compute pools. When a workload requires GPU acceleration, the compute pool must be created with a GPU-capable instance family. Compute pools are account-level objects, so the privilege required to create them is CREATE COMPUTE POOL on the account, not on a database or schema. For cost control, Snowflake best practices favor configuring pools to allow elasticity rather than pinning capacity unnecessarily. This question targets practical understanding of how infrastructure for Gen AI inference is provisioned in Snowflake: choosing the correct compute primitive, selecting appropriate hardware, and assigning the right privilege boundary.
- A. Correct.
Correct. Snowpark Container Services services run on compute pools, not virtual warehouses. For GPU-based inference, the compute pool must use a GPU-capable instance family. To control cost, the pool should be configured with a node range that supports scaling behavior, including scaling down when no workload requires capacity. Creating a compute pool is an account-level operation, so the required privilege is CREATE COMPUTE POOL on the account.
- B. Incorrect.
Incorrect. Virtual warehouses are used for SQL and many Snowflake compute workloads, but Snowpark Container Services runs containers on compute pools, not warehouses. Although auto-suspend is a valid warehouse cost-control feature, it does not apply to container execution in place of a compute pool.
- C. Incorrect.
Incorrect. A service that needs GPUs cannot rely on a CPU-only compute pool and simply request GPU resources later; the underlying compute pool must provide compatible GPU-capable nodes. Also, database ownership does not grant authority to create compute pools, because compute pools are account-level objects.
- D. Incorrect.
Incorrect. GPU-capable instances are appropriate, but setting MIN_NODES equal to MAX_NODES prevents elastic scaling across a range and does not support the stated goal of scaling down when idle. In addition, CREATE COMPUTE POOL is not granted at the schema level; it is an account-level privilege.