Validates equivalence between LiteRT models (litert_lm) and PyTorch models (transformers). Use when you need to verify that an exported LiteRT model produces the same outputs as the original Hugging Face model. Supports multi-turn conversations and custom prompts.
68
81%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill provides instructions for running equivalence tests between LiteRT models and their PyTorch source models.
Use the equivalence_test script to compare the outputs of a Hugging Face model
and its exported LiteRT version.
Run the test using bazel run from your workspace:
bazel run \
//third_party/py/litert_torch/generative/export_hf/experimental/validation:equivalence_test \
-- \
--model_id={model_id} \
[--prompt={prompt}] \
[--prompt_file={prompt_file}] \
[--max_new_tokens={max_new_tokens}] \
[--max_num_tokens={max_num_tokens}] \
[--work_dir={work_dir}] \
[--externalize_embedder] \
[--single_token_embedder] \
[--split_cache] \
[--backend={backend}]--model_id: The Hugging Face model ID to validate (e.g.,
google/gemma-3-270m-it).--prompt: Prompt to test. Specify multiple times for multi-turn
conversations.--prompt_file: Path to a file containing one (complex) prompt. Overrides
--prompt.--max_new_tokens: Maximum new tokens to generate per turn (default: 20).--max_num_tokens: KV cache length for the model (default: 2048).--work_dir: Base directory for model export. If not specified, a
temporary directory under HOME is used.--externalize_embedder: Externalize the embedder during export (default:
False).--single_token_embedder: Use single token embedder during export (default:
False).--split_cache: Split KV cache during export (default: False).--backend: Hardware backend to use for LiteRT LM (cpu | npu, default:
cpu).bazel run \
//third_party/py/litert_torch/generative/export_hf/experimental/validation:equivalence_test \
-- \
--model_id=google/gemma-3-270m-it \
--prompt="What is the capital of France?"bazel run \
//third_party/py/litert_torch/generative/export_hf/experimental/validation:equivalence_test \
-- \
--model_id=google/gemma-3-270m-it \
--prompt="What's the capital of France?" \
--prompt="How about Germany?"bazel run \
//third_party/py/litert_torch/generative/export_hf/experimental/validation:equivalence_test \
-- \
--model_id=google/gemma-3-270m-it \
--prompt_file=/path/to/prompts.txtbazel run \
//third_party/py/litert_torch/generative/export_hf/experimental/validation:equivalence_test \
-- \
--model_id=google/gemma-3-270m-it \
--externalize_embedder \
--single_token_embedderbazel run \
//third_party/py/litert_torch/generative/export_hf/experimental/validation:equivalence_test \
-- \
--model_id=google/gemma-3-270m-it \
--externalize_embedder \
--split_cache \
--backend=npu79bb9bb
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.