Contents
  1. Placement and purpose
    1. Choose where the work belongs
    2. Trace information beyond inference
  2. Capability and development
    1. Select a sufficient capability
    2. Turning points in local deployment
  3. Execution and resource fit
    1. Verify the execution path
    2. Budget resident memory
    3. Choose precision for the deployment
    4. Find the delay that matters
  4. Delivery and lifetime
    1. Deliver a compatible package
    2. Separate installed from ready
  5. Sustained operation
    1. Design within energy and heat limits
  6. Connectivity and cooperation
    1. Specify the offline capability
    2. Control the cloud handoff
  7. Deployment qualification
    1. Qualify the promised operating conditions
  8. Check understanding
  9. Open questions
  10. Selected talks
  11. References
  12. Talk library
← All topics

Local and On-Device AI

Local AI runs trained models on a user's device or a nearby machine to recognize inputs, make predictions, or generate outputs. This can keep a feature available without an internet connection or let it process information without sending it to a remote model. The engineering question is which workloads benefit from that placement. The device must provide enough memory, processing capacity, and energy for useful results, while the application must deliver the required software and model files. It also needs explicit behavior when resources or dependencies are unavailable: which work can still finish locally, which must wait, and which may use an authorized remote service.

Placement and purpose

Choose where the work belongs

Inference executes an already-trained model on new input. It uses learned parameters without necessarily updating them; fitting and inference are different operations. Placement determines where that computation happens. On-device means on the endpoint itself—the phone, laptop, browser host, or embedded device through which the feature operates. Local needs a more explicit description: a server in the same building is near the user, but it is still another machine with its own operator and communication dependency.

These are placement properties, not a ranking. Assume required software and model artifacts have already been provisioned.
PlacementCommunication dependencyData movementResource responsibility
EndpointInference can avoid a network connection.Inputs need not leave for model execution.The endpoint supplies memory, computation, and energy.
Nearby serverThe endpoint must reach another machine; internet access may be unnecessary.Request data cross a machine boundary.The server operator supplies inference resources.
Remote serviceThe endpoint must reach the service.The service receives the submitted representation.The provider operates inference; the application still owns integration.

Start with the workload's required capability, response deadline, frequency, and permitted data destinations. A detector for a spoken activation phrase makes a narrow decision repeatedly while listening. Open-ended text assistance must handle a much broader range of requests, but may run only when invoked. These differences change the acceptable model and execution budget. Apple's historical wake-phrase detector gated expensive processing; other assistant operations could run elsewhere.

Moving inference onto user hardware can remove provider inference charges for that operation, but it transfers resource consumption rather than eliminating it. Compare costs per completed useful task at comparable quality and service requirements, including installation, support, energy, and failed attempts where relevant. A marginal comparison using hardware already owned answers a different question from a full ownership comparison. AI Cost and Performance Engineering develops that accounting. Here, the immediate decision is which placement can meet the feature's requirements at an acceptable operating burden.

Trace information beyond inference

Keeping inference on a device removes one recipient from the processing path. It does not describe every copy the application creates. Privacy concerns appropriate handling of information about people; confidentiality concerns protection against unauthorized disclosure. An application can exclude outsiders while retaining information for an inappropriate purpose. The distinction belongs to Privacy and Data Governance; the local deployment task is to identify the actual processing and storage paths that must obey those decisions.

Define the local-cloud boundary by naming external recipients, then inventory copies on both sides. Apply the book's flow-and-copy inventory to each of these artifacts.
ArtifactWhat to establish
Input and intermediate valuesWhich process receives them, which temporary buffers or files exist, and when they are released.
Output and conversation historyWhether they are displayed only, saved locally, exported, or synchronized.
DiagnosticsWhether errors, traces, or crash reports contain content, identifiers, or credentials; who receives them.
Backups and shared storageWhich files are copied, which account controls the destination, and which retention rules apply.

The auxiliary paths are concrete. Android Auto Backup includes most application files, databases, and preferences by default, subject to configuration and operating conditions. An internally stored transcript therefore is not necessarily confined to that device. Model acquisition is a different flow: downloading weights does not inherently upload a prompt, but a client may still make metadata checks, attach authentication, or send telemetry. The Hugging Face Hub documents separate controls for these behaviors. Treat operational networking and user-content transfer as separate entries, not as a single online/offline flag.

Local inference, separate disclosure paths

Example

A local model can coexist with external diagnostic and backup recipients.

In this application example, backups copy saved records; diagnostics export separately selected fields. Both paths depend on their own configuration and policy.
Read the diagram as text
  • On device: Input. On-device application input.
  • On device: Local inference. On-device model execution and temporary numerical state.
  • On device: Saved result and history. On-device persistent application records.
  • On device: Diagnostic record. On-device error record; content depends on application instrumentation.
  • External diagnostics service. A recipient outside the device.
  • External backup destination. A separate storage recipient controlled by backup configuration and account policy.
  • On device: InputOn device: Local inference: Data: model input.
  • On device: Local inferenceOn device: Saved result and history: Data: output selected for storage.
  • On device: Local inferenceOn device: Diagnostic record: Data: error details if recorded.
  • On device: Diagnostic recordExternal diagnostics service: Data: exported fields if enabled.
  • On device: Saved result and historyExternal backup destination: Data: included files if backup runs.

Local serving also has an access boundary. Ollama binds its server to loopback by default, but changing the bind address or adding a proxy can expose it to other machines. Its cloud features are a separate configuration choice. Nor does process isolation make a compromised host trustworthy: a sandbox can constrain untrusted code while still depending on the host for its protection. Inspect mapped files and permitted connections, and use process isolation's threat model rather than equating a separate process with confidential storage.

Capability and development

Select a sufficient capability

A candidate is a model–runtime–device combination, not a model name. Weights are the numerical parameters fitted during training; an inference runtime loads the model and executes its computation. The same weights can encounter different supported operations, memory behavior, and execution paths in different runtimes. Begin by specifying useful behavior through task-quality criteria, then consider combinations capable of providing it. Parameter counts become relevant when estimating resource requirements, not as a substitute for the task definition.

For each candidate, record support and an observable acceptance condition.
RequirementSelection consequence
Input type and languageA text model does not satisfy an audio-input requirement merely because both produce text.
Output meaningA class label, formatted action request, and conversational answer need different checks.
Input limitsTest the actual lengths, resolutions, or durations the feature promises to accept.
Acceptable errorsCompare candidates on the same relevant cases and against a simple baseline.
Deployment permissionReview the exact artifact's terms independently of technical compatibility.

Specialization can change which size is sufficient. MobileLLM, introduced by Zechun Liu and colleagues at Meta in February 2024, studied architectures below one billion parameters for on-device uses. Its specialized API-calling experiment checked two requirements separately: identifying the intended operation and producing the expected call structure. Using generated training and test cases, the 350-million-parameter model scored above the seven-billion-parameter LLaMA-v2 model on intent exact match, but below it on structure exact match. Choosing the right operation and formatting its call correctly are both necessary; a gain on one does not settle the other. This was a bounded task comparison, not general-assistant equivalence. Separate phone profiling used other model variants, so it did not establish device performance for the model in this comparison.

Google's FunctionGemma makes the intended-use distinction explicit: it is not intended as a direct dialogue model. Its Mobile Actions evaluation measures identifying and formatting system calls, not whether an authorized action succeeded. Meanwhile, open-weight means model parameters are available; it does not mean every use or redistribution is unrestricted. Model-card metadata can point to a license, but review the actual terms and referenced policies for the exact revision. The runtime's software license is a different agreement.

Turning points in local deployment

Local AI predates general-purpose language models. Earlier systems made recognition useful by constraining the task; later work made neural models easier to fit, execute, and distribute. These are continuing lines of development. A compact detector and a generative assistant can coexist because they serve different output requirements and operating schedules.

Turning points in local deployment

  1. December 1995 — first shipmentNewton Print RecognizerCombined neural character recognition with contextual searches over strokes and words.Sources & context

    Contributors: Apple’s Print Recognizer team.

    What changed: Shipped in Newton OS 2.0 MessagePad 120 units. Restricting input to hand printing helped segmentation, while allowing words outside dictionaries avoided forcing every input into a known word.

  2. April 17, 2017 — preprintMobileNetsMade network width and input resolution adjustable for constrained mobile vision.Sources & context

    Contributors: Google researchers.

    What changed: Factorized convolutions and adjustable architecture settings offered resource tradeoffs across recognition tasks. The paper distinguished small model storage from fast execution.

  3. November 14, 2017 — developer previewTensorFlow LiteSeparated conversion, portable model files, application APIs, and an interpreter.Sources & context

    Contributors: The TensorFlow team.

    What changed: Targeted smaller runtime binaries, faster initialization, and mobile acceleration. The preview deliberately supported a constrained model set; TensorFlow Mobile remained the production option while Lite matured.

  4. November 29, 2023 — first releasellamafileBrought model weights and execution software together in portable executable files.Sources & context

    Contributors: Developed by Justine Tunney; announced by Mozilla.

    What changed: Combined llama.cpp with Cosmopolitan Libc to reduce the separate installation and setup needed to try local language models across operating systems.

Notice the distinct contributions: constrained recognition, resource-aware architectures, portable execution, and simpler distribution. Spacing is not to scale.

These developments changed different constraints: what a model recognizes, the resources it requires, how a runtime executes it, and how the application distributes it. Those constraints still need to be satisfied together.

The language-model branch benefited from compact execution software as well as model availability. An early llama.cpp snapshot documented four-bit LLaMA inference on a MacBook CPU, with conversion and quantization tools alongside C/C++ execution. Its published demonstration covered the 7B model, not every architecture or device. This contribution made an existing language model more accessible; it did not remove the memory, energy, or reliability reasons to use dedicated predictors.

Execution and resource fit

Verify the execution path

A model's computation consists of operators, numerical operations on tensors, or shaped arrays. A central processing unit (CPU) runs general application and numerical work. A graphics processing unit (GPU) executes parallel numerical workloads. A neural processing unit (NPU) specializes in neural-network operations. Hardware presence is not hardware use: a backend, called an execution provider in ONNX Runtime, supplies implementations targeting a particular execution system.

ONNX Runtime assigns portions of a model's computation graph according to provider capabilities. Compatibility therefore depends on architecture, operator versions, shapes, numerical formats, and the installed runtime and platform stack. A provider may execute only part of the graph. The remaining work may run on another backend or fail if no supported path exists. Neither an exported file nor an installed accelerator provider proves the intended placement.

Partial acceleration can be worse than consistent CPU execution. LiteRT's GPU-delegate documentation warns that splitting unsupported operations onto the CPU can add synchronization overhead that outweighs the accelerated work. The important relationship is the intermediate data crossing between execution regions, not merely the percentage of supported operators. Google's 2024 renaming of TensorFlow Lite to LiteRT reflected its broader framework support; it did not imply universal operator compatibility.

Conceptual separate-memory example with one accelerator shown at two steps. U has a CPU implementation here. Transfers and synchronization add boundary work; the figure makes no timing comparison. Shared-memory systems may avoid explicit copies while retaining execution dependencies. Measure the complete request against the CPU-only reference.

Static inspection helps locate risks, but execution must settle performance. ONNX Runtime's published mobile checker example assigns 120 of 122 ResNet nodes to two CoreML partitions while reporting unsupported-operation and shape conditions. That is a compatibility estimate, not a trace or speedup. Inspect actual placement and compare against CPU execution. Platform tracing can separate loading, CPU preparation, operator execution, and NPU activity instead of treating a utilization indicator as the complete request.

The application boundary changes delivery requirements too. Native integration calls an embedded runtime; a local service adds an API and endpoint-access boundary; browser inference depends on browser-managed execution and assets. ONNX Runtime Web needs JavaScript, appropriate WebAssembly binaries, and model data, including external tensors where used. Its WebGPU path requires a secure context. Hardware-specific variants can simplify selection: the Foundry Local demonstration exposed different optimized variants according to device hardware. Such discovery narrows candidates; testing still qualifies the selected combination.

Budget resident memory

Storage holds the package; execution needs a working set, the data required while computation proceeds. That includes resident weights, activations produced between model operations, temporary workspaces, runtime reservations, and request state. The application and operating system need memory too. Apply the inference capacity envelope to the whole device, leaving headroom rather than assigning installed RAM entirely to the model. Peak simultaneous allocations matter more than a sum of unrelated measurements taken at different times.

For attention-based language models, memory demand also includes state retained from earlier input. Text is processed as tokens, model-specific units of text. The key-value (KV) cache stores numerical representations of processed tokens so generation can reuse earlier computation. It is neither the text itself nor durable conversational memory. A dynamic cache grows as tokens arrive; a static cache reserves capacity in advance. Sliding-window layers retain only a bounded span of history. These choices change how memory demand responds to a longer request; Inference Engineering explains the mechanism. Test input length, image dimensions, active requests, and multiple resident models explicitly rather than estimating every workload from one model-file size.

Unified memory lets processors share a physical pool; MLX on Apple silicon uses this arrangement without explicit array copies between separate CPU and GPU memory spaces. It does not make capacity unlimited. Likewise, memory mapping gives a file a virtual address range, not guaranteed RAM residency; later access can still cause storage-backed page faults. When measuring shared memory, avoid double counting. Android's resident set size, or RSS, includes shared pages, whereas proportional set size, or PSS, allocates a fraction of those pages to each process.

File size and resident memory differ even for a small model. FunctionGemma's Mobile Actions dynamic-int8 entry reports a 288 MB model file but 551 MB peak RSS. The test used a Samsung S25 Ultra CPU with LiteRT XNNPACK, four threads, 512 prefill tokens, and 32 decode tokens, with a 1024-token context configuration. Prefill processes the supplied prompt; decode produces subsequent output. These conditions matter because the measurement includes a particular request's state, not just loaded weights. The short test does not establish sustained phone performance.

Suppose an application has 4 GiB available after reserving system needs and headroom. Hold its model, precision, runtime, and concurrency fixed. Longer input increases only the input-dependent allocation in this example; resident weights and other fixed allocations remain unchanged.

Unchanged weights, different memory demand

Example

Input-dependent state can cross the usable budget while fixed allocations remain unchanged.

Short input: 3.5 GiB

Weights use 2 GiB, fixed application/runtime allocations 1 GiB, and input-dependent state 0.5 GiB.

00.250.50.75101.252.53.755Allocation stack (dimensionless)Cumulative memory (GiB)Resident weights: 2 GiBFixed app and runtime: 1 GiBInput-dependent stateUsable budget: 4 GiBWeights: 2 GiBFixed: 1 GiBState: 0.5 GiB4 GiB budget0.5 GiB remaining
  • 1. Resident weights: 2 GiB
  • 2. Fixed app and runtime: 1 GiB
  • 3. Input-dependent state
  • 4. Usable budget: 4 GiB
Read coordinates and regions as data

X: 01 dimensionless; Y: 05 GiB, increasing up. Axes scaled independently; screen angles and distances are not comparable.

Resident weights: 2 GiB (polygon)

(0.2, 0); (0.8, 0); (0.8, 2); (0.2, 2)

Fixed app and runtime: 1 GiB (polygon)

(0.2, 2); (0.8, 2); (0.8, 3); (0.2, 3)

Input-dependent state (polygon)

(0.2, 3); (0.8, 3); (0.8, 3.5); (0.2, 3.5)

Usable budget: 4 GiB (polyline)

(0.05, 4); (0.95, 4)

Weights: 2 GiB: (0.5, 1.1)

Fixed: 1 GiB: (0.5, 2.6)

State: 0.5 GiB: (0.5, 3.35)

4 GiB budget: (0.5, 4.2)

0.5 GiB remaining: (0.5, 3.75)

Long input: 4.5 GiB

Fixed allocations are unchanged. Input-dependent state rises to 1.5 GiB, exceeding the budget by 0.5 GiB.

00.250.50.75101.252.53.755Allocation stack (dimensionless)Cumulative memory (GiB)Resident weights: 2 GiBFixed app and runtime: 1 GiBInput-dependent stateUsable budget: 4 GiBWeights: 2 GiBFixed: 1 GiBState: 1.5 GiB0.5 GiB over budget
  • 1. Resident weights: 2 GiB
  • 2. Fixed app and runtime: 1 GiB
  • 3. Input-dependent state
  • 4. Usable budget: 4 GiB
Read coordinates and regions as data

X: 01 dimensionless; Y: 05 GiB, increasing up. Axes scaled independently; screen angles and distances are not comparable.

Resident weights: 2 GiB (polygon)

(0.2, 0); (0.8, 0); (0.8, 2); (0.2, 2)

Fixed app and runtime: 1 GiB (polygon)

(0.2, 2); (0.8, 2); (0.8, 3); (0.2, 3)

Input-dependent state (polygon)

(0.2, 3); (0.8, 3); (0.8, 4.5); (0.2, 4.5)

Usable budget: 4 GiB (polyline)

(0.05, 4); (0.95, 4)

Weights: 2 GiB: (0.5, 1.1)

Fixed: 1 GiB: (0.5, 2.6)

State: 1.5 GiB: (0.5, 3.6)

0.5 GiB over budget: (0.5, 4.75)

Invented shared-pool budget in GiB. Both panels use the same model, precision, runtime, concurrency, and fixed allocations. Only input-dependent state changes. The 4 GiB application budget already excludes system needs and reserved headroom; crossing it is a planning failure, not an observed device crash.

Memory can also shape the model itself. MCUNet, presented by Ji Lin and colleagues in 2020, paired architecture search with model-specific execution and intermediate-storage planning for microcontrollers. Its contribution was to design the model and runtime together under resource limits. That principle remains useful at larger scales: shrinking weights is only one way to fit the complete execution.

Choose precision for the deployment

Quantization represents selected numerical values approximately using fewer bits. It can reduce weight storage and residency, while changing outputs and requiring compatible execution support. Mixed precision keeps different values at different precisions instead of compressing everything equally. The Quantization chapter explains formats, calibration, and algorithms; the deployment decision here is whether a supported representation meets the task and resource requirements.

Keep the memory ledger separated when comparing packages.
ChoiceWhat it targetsWhat it does not establish
Lower-bit weightsWeight payload and potentially resident weight bytes.Equal reductions in application buffers, request state, or total latency.
Lower-precision KV stateRetained attention-state storage.Smaller weights or validated support for a longer model context.
Execution precision and backendHow supported operations perform arithmetic.That the package's storage bit label describes every computation.

Returning to the budget example, reducing its 2 GiB weight allocation to 1 GiB would save 1 GiB—not half of the 4.5 GiB total. That could resolve capacity while leaving transfer overhead or slow output production unchanged. Conversion overhead and backend support can also make smaller representations slower. A Practical Guide to Efficient AI motivates weight compression, but a deployment still needs its own matched comparison of useful outputs, peak residency, and execution time.

Select precision using representative development cases, then keep the final assessment separate. Repeatedly adjusting quantization, prompts, or decoding after examining the final test set turns that set into selection data. Preserving this separation lets the final result estimate behavior beyond the examples used to choose the package.

Find the delay that matters

Memory capacity determines what can remain available; memory bandwidth describes how quickly bytes move. Compute capacity describes arithmetic throughput. A workload with little computation per byte moved can wait on memory even when arithmetic units have spare capacity. The Roofline model formalizes this relationship, but its upper performance envelope is not an end-to-end latency prediction. Application preparation, transfers, synchronization, queueing, and result delivery remain outside a headline arithmetic rate.

For language generation, prefill processes the supplied prompt; decode incrementally produces subsequent output using retained state. Their different execution shapes can expose different bottlenecks. Long prompts may make response onset expensive even when later output is fluid. Conversely, quick onset can precede slow generation. Recall prefill and decode rather than treating one tokens-per-second figure as the experience.

Name the observation boundary before interpreting a measurement.
MeasurementWhat it describesWhat it leaves open
Time to first tokenFor a client benchmark, request send to first response receipt.Final completion time and later output cadence.
Output-token throughputGenerated tokens divided by benchmark duration.Each user's pace when several requests overlap.
Speech real-time factorProcessing time divided by supplied audio duration.Live capture delay and the time until partial text becomes final.

Improving one stage saves only the time that stage contributes to the complete request. Consider an illustrative 100 ms request on a separate-memory accelerator path, with all stages running sequentially: 40 ms preparing input, 20 ms transferring it, 20 ms executing the model, 10 ms returning results, and 10 ms delivering them. Halving model execution saves only 10 ms, leaving a 90 ms request. When stages overlap, adding their durations overstates elapsed time. Instead, identify the critical path: the chain of dependent work that determines when the result can be delivered.

Admission control limits the work accepted into a bounded system. On a shared device, cap input size, output work, and concurrent requests before they consume the budget needed for interaction. For continuous media, check whether processing keeps up with arriving audio or frames; accumulating a queue can hide failure until results become stale. When capacity is insufficient, explicitly defer, reduce the promised service, or reject work. Scheduling and admission explains the mechanisms; scheduling cannot make sustained demand above capacity disappear.

Delivery and lifetime

Deliver a compatible package

Model packaging assembles the artifacts and metadata needed to install and execute a capability. A manifest records their identities and compatibility requirements: weights, architecture configuration, preprocessing, output conventions, runtime dependencies, and applicable terms. For text models, a tokenizer maps text to model-specific identifiers, while a chat template serializes message roles and boundaries. Using the wrong template can change behavior even when the weights load successfully. Keep these components together and follow checkpoint-specific serialization.

A package may contain a portable model representation or artifacts prepared for a particular execution target. Apple's documented Core ML download workflow compiles a downloaded model before instantiating it and recommends persisting reusable compiled output. Browser packages also need execution binaries and worker assets, not just weights. Successful delivery must therefore be followed by preparation and compatibility checks for the intended environment.

Bundling makes artifacts part of application delivery; downloading separately can avoid shipping every model to every user but introduces another installation lifecycle. Plan space for the existing package, staged replacement, and preparation output. Keep incomplete downloads outside the active package, and specify whether interruption resumes or restarts acquisition. Chrome's managed models, for example, support documented download resumption and download complete replacements while the existing model remains usable. Those are that platform's guarantees, not properties of every model installer.

Verify origin, integrity, and update freshness separately from compatibility. An authenticated hash can identify approved bytes; it cannot establish that those bytes are safe or that individually valid files form a compatible release. The Update Framework combines trusted keys, signed metadata, hashes, versions, and expiry checks because a valid signature alone does not prove freshness. Broader loader and supply-chain risks belong in AI Security.

A useful installation design stages and validates a complete release before changing a small active-version record. Atomic activation means readers observe the old selection or the new one, not a partly written selection. Android's AtomicFile can replace one file through synchronized writing and rename; it supplies no locking or multi-file package transaction. Package completeness, concurrent access, and recovery remain separate responsibilities. Retain a compatible recovery package only while policy still permits it—recovery is not permission to accept an arbitrarily old signed release.

Change the record, keep release identities

Example

Both views keep packages A and B in the same positions; only the active selection moves.

Before: select A

A remains selected while B is staged separately and checked for completeness, compatibility, integrity, origin and freshness. The record cannot select incomplete B.

02.557.51002468Fixed package positions (layout)Selection and package arrangement (layout)Active-version recordPackage A: unchanged releasePackage B: unchanged releaseActive selectionActive record: APackage ASame release APackage BSame release BSelectsB staging + checks before selection
  • 1. Active-version record
  • 2. Package A: unchanged release
  • 3. Package B: unchanged release
  • 4. Active selection
Read coordinates and regions as data

X: 010 layout; Y: 08 layout, increasing down. Axes scaled independently; screen angles and distances are not comparable.

Active-version record (polygon)

(3.3, 0.7); (6.7, 0.7); (6.7, 2); (3.3, 2)

Package A: unchanged release (polygon)

(0.6, 4.2); (4.4, 4.2); (4.4, 6.3); (0.6, 6.3)

Package B: unchanged release (polygon)

(5.6, 4.2); (9.4, 4.2); (9.4, 6.3); (5.6, 6.3)

Active selection (polyline)

(5, 2); (5, 3); (2.5, 3); (2.5, 4.2)

Active record: A: (5, 1.6)

Package A: (2.5, 4.95)

Same release A: (2.5, 5.65)

Package B: (7.5, 4.95)

Same release B: (7.5, 5.65)

Selects: (5, 2.7)

B staging + checks before selection: (5, 7.2)

After: select B

B is complete and validated before the active record changes. Package identities and contents remain fixed. A may be retained only while recovery policy permits.

02.557.51002468Fixed package positions (layout)Selection and package arrangement (layout)Active-version recordPackage A: unchanged releasePackage B: unchanged releaseActive selectionActive record: BPackage ASame release APackage BSame release BSelectsB passed checks before selection
  • 1. Active-version record
  • 2. Package A: unchanged release
  • 3. Package B: unchanged release
  • 4. Active selection
Read coordinates and regions as data

X: 010 layout; Y: 08 layout, increasing down. Axes scaled independently; screen angles and distances are not comparable.

Active-version record (polygon)

(3.3, 0.7); (6.7, 0.7); (6.7, 2); (3.3, 2)

Package A: unchanged release (polygon)

(0.6, 4.2); (4.4, 4.2); (4.4, 6.3); (0.6, 6.3)

Package B: unchanged release (polygon)

(5.6, 4.2); (9.4, 4.2); (9.4, 6.3); (5.6, 6.3)

Active selection (polyline)

(5, 2); (5, 3); (7.5, 3); (7.5, 4.2)

Active record: B: (5, 1.6)

Package A: (2.5, 4.95)

Same release A: (2.5, 5.65)

Package B: (7.5, 4.95)

Same release B: (7.5, 5.65)

Selects: (5, 2.7)

B passed checks before selection: (5, 7.2)

In this proposed design, only the active-version record is replaced atomically. Complete and validate B first. Coordinate concurrent access separately; retain A only while recovery policy permits. AtomicFile supplies neither a package transaction nor automatic rollback.

Separate installed from ready

Readiness means the capability can accept the specified work now. An installed package may still need loading, compilation, runtime-session creation, or warmup. A cold start performs missing setup; a warm request reuses prepared state. Residency is the decision to keep that state allocated. Reuse can shorten first-response delay, but competes with the rest of the device for memory. Warm execution is not startup.

The stages depend on the runtime; this comparison identifies what must be checked rather than assigning universal startup times.
Entry conditionAcquisitionPreparationRequest execution
First installationRequired unless bundled.Verify and prepare the delivered artifacts.Begins after readiness.
Installed cold startUnnecessary if all valid artifacts persist.Load and recreate runtime state; reuse valid compiled artifacts where supported.Still pays missing setup.
Resident warm requestNormally unnecessary.Reuse the live compatible session.Measures the already-prepared path.

Eager preparation pays setup before the user asks; lazy preparation waits until the capability is needed. Neither choice eliminates reclamation. Android can terminate processes under memory pressure, so an active inference thread is not durable progress. Chrome can freeze page tasks or discard a page without a final cleanup callback. Save application state before it becomes vulnerable, then distinguish reconstructing a task from saved inputs from resuming the exact interrupted numerical computation.

Artifact loss creates a different recovery path from process loss. Chrome's managed model can be purged under disk pressure or changed eligibility, including during a session; another download may then be necessary. A lost session or accelerator instead requires checking whether installed artifacts can recreate a usable execution path. The Foundry Local demonstration avoided model-download dependence by fetching models in advance. It establishes the value of preparation, not indefinite readiness after every kind of loss.

Session loss and artifact loss need different recovery

Example

Retained files can enable local reinitialization; missing required files require provisioning.

Session loss can permit local reinitialization from complete, valid artifacts and a usable execution path. Required-artifact loss makes the capability unavailable until reprovisioning. These are recovery distinctions, not one platform’s complete state machine.
Read the diagram as text
  • Live session lost. Process termination or page discard removes live runtime state. Persistent artifacts may remain. A frozen page is a different condition.
  • Check retained artifacts. Establish whether every required artifact is present and valid and whether a usable execution path remains.
  • Reinitialize locally. Load artifacts, reuse valid compiled output where supported, and recreate runtime state. Saved inputs can reconstruct a task, not necessarily resume interrupted numerical computation.
  • Ready for supported work. Preparation has succeeded for the specified task and execution path. Later reclamation can invalidate readiness.
  • Required artifacts lost. For example, a managed model is purged under disk pressure or changed eligibility. Files must be reacquired before they can support a new session.
  • Unavailable pending recovery. While disconnected, missing required downloads prevent local recovery. If artifacts remain but execution is unusable, that execution path needs repair.
  • Reprovision required artifacts. Acquire missing files when an eligible, permitted provisioning path is available. Before reinitialization, check that all required artifacts are complete and valid and the execution path is usable. Otherwise the capability remains unavailable; reconnection alone does not make it ready.
  • Live session lostCheck retained artifacts: Inspect persistent state.
  • Check retained artifactsReinitialize locally: Complete, valid, usable.
  • Reinitialize locallyReady for supported work: Preparation succeeds.
  • Check retained artifactsUnavailable pending recovery: Required dependency missing or unusable.
  • Required artifacts lostUnavailable pending recovery: Capability requires missing files.
  • Unavailable pending recoveryReprovision required artifacts: Missing files; provisioning permitted and available.
  • Reprovision required artifactsReinitialize locally: Artifacts complete and valid; execution usable.

Cancellation also has a scope. Chrome's Prompt API distinguishes aborting a prompt from destroying its session; session destruction stops execution and frees session resources, without promising immediate unloading of shared model weights. ONNX Runtime's Java termination flag applies to every incomplete run sharing that RunOptions object. Give independent requests independent cancellation scope where required, and do not report resource release merely because the interface stopped displaying output. See interruption and cancellation.

Sustained operation

Design within energy and heat limits

Power is the rate of energy use; energy per completed task depends on both power and duration. A thermal budget describes the heat load a device can sustain under stated conditions. Thermal throttling reduces performance to control temperature. Short bursts can run at settings that prolonged execution cannot maintain. Ambient conditions, recent use, and device design change the result, so a fast first request does not establish a sustainable processing rate.

Measure the complete work interval, including sensing, preparation, memory movement, and relevant idle overhead. Lower instantaneous power can still consume more energy if execution takes longer. For illustration, 2 watts over 3 seconds uses 6 joules, while 3 watts over 1 second uses 3 joules. This arithmetic is not a device comparison. It explains why an energy decision needs completed work and elapsed time alongside power.

Duty cycle is the fraction of time a workload is active. Apple's October 2017 Hey Siri account described staged sensing: a continuous low-power auxiliary detector woke the main processor for a larger check only after sufficient detection, reducing expensive activation. Accepted audio could then reach Siri's server; the assistant was not entirely local.

Hey Siri: conditional activation

The larger detector runs conditionally.

Apple’s October 2017 iPhone design runs the larger check only after sufficient auxiliary detection. Insufficient detection does not wake the main processor for this task; other applications may still use it. Accepted requests may continue to an external server.
Read the diagram as text
  • Audio.
  • Auxiliary processor: detector. Auxiliary processor.
  • No wake for this detector. This decision does not determine whether unrelated applications use the main processor.
  • Main processor: larger check. Main processor.
  • Activation rejected.
  • Accepted local detection. An assistant request can continue to external server processing after local checks.
  • External Siri server. Possible subsequent audio processing in this historical design; additional server checks may reject an activation.
  • AudioAuxiliary processor: detector: Audio input.
  • Auxiliary processor: detectorNo wake for this detector: Insufficient detection.
  • Auxiliary processor: detectorMain processor: larger check: Sufficient detection.
  • Main processor: larger checkActivation rejected: Check rejects.
  • Main processor: larger checkAccepted local detection: Check accepts.
  • Accepted local detectionExternal Siri server: Possible subsequent audio transfer.

Other controls change the service offered. Processing fewer frames can miss short events; shorter generated output can omit useful detail; deferring work reduces immediacy. Charging-aware scheduling can move latency-insensitive work away from unplugged use, as discussed in Gemini Nano on device, but it cannot override an API restriction. ML Kit's GenAI APIs require the top foreground application and apply request and battery-use quotas; even a foreground service can receive a background-use error.

Sustained tests must distinguish a symptom from its cause. MELT observed falling throughput across 50 consecutive prompts for four-bit Zephyr-3B on an iPhone 14 Pro, repeating the experiment three times. The authors hypothesized energy and frequency-management changes; they did not directly demonstrate those transitions. To diagnose a similar slowdown, hold request shape and concurrency fixed, then align repeated timings with memory and thermal observations. Growing history, host overhead, and temperature are competing explanations, not interchangeable labels for slowness.

Record ambient conditions, charging state, battery state, and competing work. Android's Power Profiler observes available device-level power rails rather than isolating an application's energy automatically; other activity introduces noise. Missing rail coverage is unavailable information, not zero consumption. Use repeated, comparable workloads and report useful completions alongside energy, latency, and thermal state.

Connectivity and cooperation

Specify the offline capability

Offline inference runs without a live network dependency. Provisioning puts its required artifacts and supporting state in place beforehand. Transformers documents predownloading model files and using an explicit offline or local-files-only loading policy; installing the library alone is insufficient. A whole workflow additionally needs its inputs, supporting data, valid authority, and required downstream operations. A local model calling a web tool is still a network-dependent workflow.

Assume external transfer is prohibited unless separately authorized. These outcomes should be explicit in the application.
ConditionHonest capability
Provisioned restart with valid local stateReinitialize locally and run the supported task.
Missing model or required runtime assetReport unavailable until the missing dependency is provisioned.
Older supporting dataOffer explicitly reduced freshness if the task permits it; otherwise decline.
Required authority cannot be establishedDo not perform the protected operation.
Remote-only operationPreserve local work if permitted; report the remote step unavailable or explicitly pending.

Graceful degradation offers a clearly reduced service when normal operation is unavailable. It must preserve permissions and disclose reduced completeness. A stored reference collection may support useful offline lookup, but cannot reveal changes it has not received; freshness and deletion remain separate obligations. Likewise, an authentication or entitlement dependency needs an explicit offline policy. If the operation requires current remote authority, disconnection cannot establish it. Follow current-authority enforcement.

Distinguish local completion, saved pending work, and a confirmed remote effect. An offline note can be saved successfully while its requested transmission remains pending. Reconnection supplies transport, not new permission to upload it. If a connection fails during a remote action, lack of acknowledgement also does not establish that the action failed; use the uncertain-outcome contract before retrying. Test disconnected startup, process restart, prolonged disconnection, and missing dependencies—not only a prompt after toggling airplane mode.

Control the cloud handoff

Hybrid inference combines local and remote execution. It may send an entire task to a remote model, or partition an application into stages—for example, local transcription followed by an optional remote text operation. This differs from splitting one model's numerical execution across machines, covered in Distributed Training and Inference. Network-sensitive cooperation is not new: the University of Michigan's 2017 Neurosurgeon study investigated layer-level placement because transferring inputs could outweigh faster server computation. Its preferred split depended on network conditions and server load.

For an application-stage handoff, name the outbound representation, operation, recipient, and retention decision. In the proposed transcription design, the remote service receives selected transcript text—not raw audio, the entire recording history, or unspecified intermediate state. Check permission for that exact path before sending. Microphone permission authorizes capture-device access; it is not the application's cloud-transfer policy. Approval belongs to the actual service path, and the interface should show where the optional processing occurs.

Transforming information locally does not automatically anonymize it. An embedding is a numerical representation of an object, such as text; its purpose and geometry are explained in Embeddings and Representation Learning. The 2023 study Text Embeddings Reveal (Almost) As Much As Text demonstrated reconstruction attacks given embeddings and query access to the embedding model. That does not establish universal recoverability, but it rules out treating vectors as inherently safe to disclose.

Availability and permission must remain separate decisions. Firebase's documented hybrid integration distinguishes unavailable, downloadable, downloading, and available local-model states. Requests do not automatically download missing models. Its local-preferred mode permits cloud fallback, while local-only mode fails when local execution cannot proceed; unsupported features can also cause permitted fallback. Responses identify execution location. Configure such behavior to match the product promise: memory pressure, heat, or a missing artifact must not silently convert a local-only request into an upload. Broader selection and fallback design belongs in Model Routing and LLM Gateways.

Permission precedes the remote text operation

Example

A useful local result can remain available when the optional remote path is prohibited or unreachable.

In this proposed design, the gate checks authorization for selected text, operation, recipient and retention separately from connectivity. Denial prohibits transfer; disconnection prevents an authorized send. The local transcript remains available in either case, and reconnecting does not authorize an upload.
Read the diagram as text
  • Captured audio. On-device input; capture permission is separate from transfer permission.
  • Local transcription. A provisioned local capability converts audio to text.
  • Local transcript. Text derived from audio, not the audio object itself.
  • On-device transfer gate. First check local-only policy and authorization for exact text, operation, recipient and retention; separately check connectivity.
  • External approved text service. External recipient for the optional text operation.
  • On device: local result retained. Denied authority means prohibited; absent connectivity means unsent. Neither creates automatic later transfer.
  • On device: remote result display. On-device presentation identifies remote processing.
  • Captured audioLocal transcription: Data: audio.
  • Local transcriptionLocal transcript: Data: derived text.
  • Local transcriptOn-device transfer gate: Data: selected text proposal.
  • On-device transfer gateExternal approved text service: Data: only approved selected text; authorized + connected.
  • On-device transfer gateOn device: local result retained: Control: prohibited or disconnected.
  • External approved text serviceOn device: remote result display: Data: remote operation result.

Protected remote processing is another option, but it remains remote. Apple's 2024 Private Cloud Compute architecture described encrypted requests sent to validated nodes that access request data to compute a response, with stated deletion and operational-access restrictions. Those protections are architectural claims with their own assurance requirements, not on-device execution. Choose the path for its actual guarantees rather than its product label.

Deployment qualification

Qualify the promised operating conditions

Qualification turns a proposed capability into a bounded support statement. Record the exact package revision, tokenizer or processor, runtime, backend, operating system, device group, input shapes, concurrency, and relevant operating conditions. Define acceptance criteria before selecting the winner, compare changes on matched work, and preserve an independent final test. The release boundary is the intersection of useful behavior, feasible execution, valid lifecycle handling, and permitted data flows.

Keep the claims separate. Each row needs its own acceptance criterion and a defined response when unmet.
PromiseConditions to exerciseObservationResponse when unmet
Useful outputRepresentative languages, inputs, difficult cases, and held-out tasks.Task-specific correctness and unacceptable errors.Narrow capability or reject the candidate.
Supported executionExact model, backend, shapes, and platform versions.Actual operator placement and compatible results.Use a qualified path or mark the combination unsupported.
ReadinessFirst installation, interrupted acquisition, installed cold start, and warm reuse.Stage completion and time until requests can run.Expose preparation or missing dependencies.
Memory fitLow-resource targets, large inputs, overlap, and competing applications.Peak allocations and memory-pressure behavior.Limit inputs, concurrency, or residency.
Responsive sustained useRepeated matched work with battery, charging, ambient, and background conditions recorded.Onset, completion, cadence, energy coverage, and thermal observations.Reduce work, defer where permitted, or declare the mode unsupported.
Offline recoveryDisconnection, restart, missing assets, and older supporting data.Which promised operations actually complete.Return an explicit reduced, pending, or unavailable outcome.
Controlled disclosurePermitted and prohibited handoffs, tool calls, diagnostics, and backup settings.Destinations and payloads within stated observation coverage.Block the unauthorized path; preserve the local result.

Benchmark history explains why these boundaries matter. MLPerf Tiny, presented by Colby Banbury, Vijay Janapa Reddi, and collaborators in 2021, paired embedded tasks with quality targets and comparable measurement procedures. Its published timing excluded preprocessing and postprocessing, and energy was measured per inference within that window. This made an inference comparison meaningful without claiming to measure a complete sensor-to-result workflow.

MobileAIBench similarly separated task evaluation from an iOS application's latency and resource measurements. Its reported mobile experiments used an iPhone 14. Summarization scores did not establish factual fidelity, and battery-percentage changes were not joule measurements. Use tools to answer their defined questions, then test the integrated application. The inference benchmark contract supplies the workload and measurement controls.

State the coverage of network observations too. Service workers can mediate browser requests, and disabling them to simplify interception changes application behavior. Browser instrumentation does not cover every native process or operating-system service. Preserve diagnostic identities and outcomes without indiscriminately retaining private payloads; telemetry governance explains that boundary. The final support statement should name supported tasks and conditions, required preparation, unavailable modes, and allowed remote paths. A successful model launch is one observation inside that statement, not its conclusion.

Open questions

  1. Predicting sustainable capability across device fleets remains difficult because thermal design, background activity, runtime behavior, and workload shape interact. Progress would mean reproducible stock-device measurements linking useful completions, latency, energy, and thermal state under documented conditions—not only faster initial requests.

  2. Durable offline readiness competes with platform reclamation and model updates. Applications need stronger ways to state how long a provisioned capability can remain available and how loss is reported. Progress would include testable reservation, lifecycle, and recovery contracts that distinguish retained files from runnable sessions.

  3. Local-cloud cooperation needs useful minimization without assuming that derived representations are anonymous. Progress would combine task-quality evaluation with explicit reconstruction threat models and enforceable recipient-specific transfer policies, so reducing payload size does not become a substitute for protecting information.

Follow the curated reading path through the speakers and demonstrations behind this entry.

Explore more talks

The rest of the library, beyond the curated path. Cited talks support this entry; reviewed transcripts were processed in full. Metadata candidates have not been reviewed as sources or verified as topic members.

127 matching talks

TalkSpeakerEventYear
Adrien GrondinAI Engineer Europe 20262026
Mozhgan Kabiri ChimehAI Engineer Europe 20262026
Soumith ChintalaAI Engineer Summit 20252025
Compilers in the Age of LLMs

Cited in this entry

Yusuf OlokobaAI Engineer Code 20252025
Cormac BrickAI Engineer World's Fair 20262026
Ishan AnandAI Engineer World's Fair 20252025
Philip Kiely, Pankaj GuptaAI Engineer World's Fair 20242024
Phil NashAI Engineer Europe 20262026
Mark MoyouAI Engineer World's Fair 20242024
Dylan PatelAI Engineer World's Fair 20242024
Stephen Hood, Justine TunneyAI Engineer World's Fair 20242024
Mithun HunsurAI Engineer Summit 20232023
Sarah ChiengAI Engineer Europe 20262026
Ziv IlanAI Engineer Europe 20262026
Hamed Firooz, Maziar SanjabiAI Engineer World's Fair 20252025
Vibhu SapraAI Engineer World's Fair 20252025
Jerry LiuAI Engineer Summit 20232023
Roy DerksAI Engineer Summit 20252025
Abi AryanAI Engineer Summit 20232023
Simon WillisonAI Engineer World's Fair 20242024
Fouad MatinAI Engineer World's Fair 20252025
How to Build Trustworthy AI

Transcript reviewed

Allie HoweAI Engineer World's Fair 20252025
Lukas BiewaldAI Engineer World's Fair 20242024
Ibragim BadertdinovAI Engineer Europe 20262026
Sayash KapoorAI Engineer Summit 20252025
Walden, Carter, Tanay, Alex Atallah, NavAI Engineer World's Fair 20262026
Nader Khalil, Alex Cheema, Matthew Berman, Ahmad Osman, Joseph NelsonAI Engineer World's Fair 20262026
Lech KalinowskiAI Engineer World's Fair 20262026
Kyle KranenAI Engineer World's Fair 20252025
Rishabh BhargavaAI Engineer Europe 20262026
Building a Chess Coach

Transcript reviewed

Anant Dole, Asbjørn SteinskogAI Engineer Europe 20262026
Steve KorshakovAI Engineer World's Fair 20262026
Tun Shwe, Jeremy FrenayAI Engineer Europe 20262026
Ben BurtenshawAI Engineer Europe 20262026
Dmytro (Dima) DzhulgakovAI Engineer World's Fair 20242024
AI Engineer Summit 20252025
Gabriel Jorge MenezesAI Engineer World's Fair 20262026
Keegan McCallumAI Engineer World's Fair 20252025
Vinoth GovindarajanAI Engineer World's Fair 20262026
Alex AtallahAI Engineer World's Fair 20252025
Mike ChambersAI Engineer World's Fair 20252025
Audry HsuAI Engineer Europe 20262026
Sandipan BhaumikAI Engineer Europe 20262026
Bilge YücelAI Engineer Europe 20262026
Rachel Lee Nabors (RL Nabors)AI Engineer World's Fair 20262026
Charles FryeAI Engineer World's Fair 20252025
Why MLX

Transcript reviewed

AI Engineer Europe 20262026
Matthias LoiblAI Engineer World's Fair 20252025
Chintan Parikh, Weiyi WangAI Engineer Europe 20262026
Nick TaylorAI Engineer Europe 20262026
Maxime LabonneAI Engineer Europe 20262026
Stefano FiorucciAI Engineer Europe 20262026
Brendan O'DonoghueAI Engineer Europe 20262026
Sean DuBois, Kwindla Hultman Kramer, YaxinAI Engineer World's Fair 20252025
Cormac BrickAI Engineer Europe 20262026
Chintan Agrawal, Daniel WirjoAI Engineer World's Fair 20262026
Tushar JainAI Engineer World's Fair 20262026
Notion's Token Town

Transcript reviewed

Sarah SachsAI Engineer World's Fair 20262026
Charles FryeAI Engineer World's Fair 20252025
Kelvin MaAI Engineer World's Fair 20252025
Alex CheemaAI Engineer Europe 20262026
Compression at the Edge

Transcript reviewed

Chris Alexiuk, Daniel Han, Asma Beevi, Merve Noyan, Parth SareenAI Engineer World's Fair 20262026
Neil Dwyer, Jack DwyerAI Engineer World's Fair 20252025
Sally Ann O'MalleyAI Engineer Europe 20262026
Shafik Quoraishee, Joanne SongAI Engineer World's Fair 20262026
Carter Abdallah, Vincent Weisser, Lucas Atkins, Chris AlexiukAI Engineer World's Fair 20262026
Angelos PerivolaropoulosAI Engineer Europe 20262026
Rajkumar SakthivelAI Engineer World's Fair 20262026
Joseph NelsonAI Engineer Summit 20232023
Ievgen VakulenkoAI Engineer World's Fair 20242024
Ezra Tanzer, Dan ArpinoAI Engineer World's Fair 20262026
Leonie MonigattiAI Engineer Europe 20262026
Armanas PovilionisAI Engineer World's Fair 20262026
Charles FryeAI Engineer Summit 20232023
Philipp SchmidAI Engineer World's Fair 20252025
AI Platform Engineering

Metadata candidate

Patrick DeboisAI Engineer World's Fair 20242024
Nagkumar Arkalgud, Keiji KanazawaAI Engineer World's Fair 20252025
Niklas NielsenAI Engineer Summit 20232023
Paul Klein IVAI Engineer World's Fair 20262026
Paige Bailey, Guillaume Vernade, Ian BallantyneAI Engineer Europe 20262026
Jeff NgAI Engineer World's Fair 20262026
Du’An Lightfoot, Banjo ObayomiAI Engineer World's Fair 20252025
Mahesh MuragAI Engineer Summit 20252025
Thor Schaeff, Philipp SchmidAI Engineer Europe 20262026
Eric ZakariassonAI Engineer Europe 20262026
Abed MatiniAI Engineer World's Fair 20262026
Jedrick Kosinski, ComfyAnonymousAI Engineer World's Fair 20252025
Liam HamptonAI Engineer Europe 20262026
Hanchi WangAI Engineer World's Fair 20242024
Defying Gravity

Metadata candidate

Kevin HouAI Engineer Code 20252025
Ben HylakAI Engineer World's Fair 20262026
Gaurav MishraAI Engineer World's Fair 20262026
Antje Barth, Mike ChambersAI Engineer World's Fair 20242024
KitzeAI Engineer World's Fair 20252025
Frontier Feud

Metadata candidate

Barr Yaron, Mihir, John, Tina, Shresta, Paige, Colin, Petra, StevenAI Engineer Summit 20252025
Cassidy HardinAI Engineer Europe 20262026
Dave Burnison, Alex Malebranche, Dimitrios Philliou, Christina Warren, HaraldAI Engineer World's Fair 20242024
John PhamAI Engineer World's Fair 20252025
Kyle Jaejun LeeAI Engineer World's Fair 20262026
Ritvik PandyaAI Engineer World's Fair 20262026
Juan PeredoAI Engineer Summit 20252025
2025 in LLMs so far

Metadata candidate

Simon WillisonAI Engineer World's Fair 20252025
Ronan McGovernAI Engineer World's Fair 20252025
Stefania DrugaAI Engineer World's Fair 20262026
Vikhyat KorrapatiAI Engineer World's Fair 20242024
Neil ZeghidourAI Engineer Europe 20262026
Simon WillisonAI Engineer Summit 20232023
Juan Herreros ElorzaAI Engineer Europe 20262026
Hursh AgrawalAI Engineer World's Fair 20262026
Jon PeckAI Engineer World's Fair 20252025
Pamela Fox, Harald Kirschner, Gabriela de QueirozAI Engineer World's Fair 20242024
Merve NoyanAI Engineer Europe 20262026
Arjun Desai, Rohit TalluriAI Engineer World's Fair 20252025
Gus Martins, Ian BallantyneAI Engineer Europe 20262026
Thiyagarajan MaruthavananAI Engineer World's Fair 20262026
Cedric ClyburnAI Engineer World's Fair 20262026
Ahmad OsmanAI Engineer World's Fair 20262026
The Log Is The Agent

Metadata candidate

Ishaan SehgalAI Engineer World's Fair 20262026
Arturo NunezAI Engineer World's Fair 20262026
Jonathan FernandesAI Engineer World's Fair 20252025
Thabang LedwabaAI Engineer World's Fair 20252025
Kathleen KenealyAI Engineer World's Fair 20242024
Nico AlbaneseAI Engineer Summit 20252025
Harald KirschnerAI Engineer World's Fair 20252025
Lucas PalmaAI Engineer World's Fair 20262026
Fryderyk Wiatrowski, Peter AlbertAI Engineer World's Fair 20242024
Subbiah Sethuraman, Abhilash AsokanAI Engineer World's Fair 20262026

References

Coverage and source review
Processed transcripts
67 processed in full · 4 in the curated path
Automated source review
Passed
Metadata candidates
64 unreviewed; not verified topic membership
Corpus version
1bd8e407b26a07b33815594e1b2db5f41827119a2b3cb6fbf240f9fc571fc767

Automated review checks source support; it is not publication approval.

A synthesis of selected conference talks and technical references. Citations link to the source material; they do not imply that every talk on this subject is included.

  1. vLLM GPU worker: profiling available KV capacity

    The GPU worker profiles a model forward pass and, when configured, estimates CUDA-graph memory separately. Its available KV-cache budget subtracts profiled non-KV consumption and the applied graph estimate from requested memory. Later warmup compares actual graph-pool use with its estimate and reserves additional headroom in suggested allocations. This connects weights, activations, runtime buffers and graph storage to the space left for request state. An explicit cache-byte override skips normal capacity inference and requires a suitable value.

  2. Transformers: cache allocation versus retained history

    KV caches retain attention keys and values beyond model weights. DynamicCache grows as tokens arrive; StaticCache preallocates a maximum capacity, masking unused positions and potentially wasting memory and attention work on short sequences. Sliding-window or chunked layers stop growing at their retained-history limits even when the configured sequence capacity is larger. Offloading transfers most layer caches through CPU memory; quantized caches reduce precision but can increase latency for short contexts. Operational inference: allocated slots are a storage decision, not evidence that the model supports that many sequence positions. For ordinary full-history static caching, reserve sufficient slots for prompt plus intended output while independently enforcing the model's supported context limit. Windowed cache capacity must instead follow the architecture's retention rules.

  3. PyTorch Quickstart: forward computation, training, and loading

    Tensors hold shaped numerical data: a batch has dimensions for examples and features, while parameter tensors hold learned weights and biases. Forward computation applies the network's layers to input tensors using those parameters, producing prediction scores. Training additionally compares predictions with targets through a loss, calls backward() to compute parameter gradients, and calls optimizer.step() to update parameters; zero_grad() clears accumulated gradients. Loading recreates the architecture and restores its state dictionary. The example then predicts using eval() and no_grad(), without loss-driven parameter updates. Computing a loss for evaluation does not itself train the model.

  4. NIST SP 500-325: Fog Computing Conceptual Model

    NIST distinguishes smart endpoints, intermediate computing nodes, and centralized cloud services. Intermediate nodes can be gateways, routers, servers, or virtual components providing computation and communication for endpoints. A cloud connection is not mandatory for every such arrangement. Placement implication: an endpoint using a nearby inference server still crosses a machine and communication boundary; proximity does not establish who owns or administers that server.

  5. Why Large? Tiny LMs & Agents on Edge/Robotics

    Local inference can keep a feature available without connectivity, retain its data on-device, and avoid cloud inference charges that accumulate with interaction volume.

  6. Hey Siri: An On-device DNN-powered Voice Trigger for Apple’s Personal Assistant

    Apple's October 2017 account describes a small detector continuously recognizing a wake phrase on the iPhone's low-power auxiliary processor. A sufficiently strong detection wakes the main processor for a larger model's check, avoiding continuous use of the main processor. The contemporary Apple Watch implementation instead enabled detection after a wrist raise because of its smaller battery and competing startup work. After local checks, accepted audio could reach Siri's server, which could reject a false activation. Local wake-word recognition therefore served a different workload and information boundary from the subsequent assistant request.

  7. FinOps: comparable workload denominators and cost boundaries

    FinOps distinguishes resource-efficiency units, such as cost per token, from business outcomes, such as cost per resolved case. It calls for documented metric definitions, assumptions, cost inclusions and allocation rules, progressing toward fully loaded costs. Application to local-versus-remote inference: use unit cost=allocated costs over a defined period/completed useful workload units over that period. Hold task mix, quality criteria and service requirements comparable; specify input/output lengths when counting requests or tokens. Include retries and failed attempts in the cost numerator even when the denominator counts only successful tasks. Compare full ownership cost with full service-delivery cost, or explicitly label a narrower marginal-cost comparison.

  8. Android: Back up user data with Auto Backup

    Android Auto Backup includes most application files, databases, and shared preferences by default, while excluding designated cache and no-backup directories. Developers can configure file inclusion and exclusion separately for supported transfer types. Consequently, storing a transcript in application-internal storage does not alone establish that it remains on that device. The documentation also warns that, on some manufacturers' devices, disabling cloud backup through allowBackup does not disable device-to-device transfer.

  9. Hugging Face Hub: Environment variables

    The Hub client documents network activity beyond downloading missing weights: hf_hub_download normally checks for newer file metadata even when a file is cached, and participating libraries can send usage telemetry. Logged-in clients ordinarily send an authentication token on read requests unless implicit-token behavior is disabled. Separate controls govern Hub offline access, telemetry, and implicit authentication. The hf CLI also documents a separate PyPI update check. These distinctions provide concrete operational flows to inventory around local model execution.

  10. Ollama: FAQ

    Ollama documents both local models and cloud features. It can run in local-only mode by disabling its cloud features, including cloud models and web search. Its HTTP server binds to 127.0.0.1 by default, and changing the bind address or adding a proxy can expose it on a network. Local inference therefore needs a data-flow definition: where the model executes, which services receive prompts or tool data, and who can reach the model endpoint. A locally installed application is not automatically a fully offline workflow.

  11. gVisor security model: containment and host dependencies

    gVisor reduces untrusted code’s ability to exploit the host system-call interface. Its Sentry implements application system calls instead of passing them directly to Linux, and itself uses a restricted host interface; the Gofer mediates filesystem access. This adds defenses against escape, not a guarantee of immunity. Sandboxed code can still access mapped files and allowed network connections. Hardware side-channel defenses depend on the host OS and platform; resource limits depend on host cgroups, and network policy needs separate enforcement. Host-networking and directfs settings change which host operations are available. Architectural implication: a local assistant’s sandbox protects the host from untrusted execution but does not establish confidentiality against a compromised host kernel or host components controlling its isolation and resources.

  12. ONNX Runtime Architecture

    ONNX Runtime loads an ONNX model into an internal computation graph, performs provider-independent optimizations, and partitions the graph into subgraphs according to available execution providers. Providers declare the operations or subgraphs they can execute through capability queries. Assigned work is compiled or handled by the provider, which also participates in memory allocation. This separates the portable model representation from hardware-specific execution. An exported file and an installed accelerator backend are not sufficient evidence that the desired operations execute on that accelerator.

  13. Scikit-learn: scoring rules and baseline estimators

    Evaluation tools accept an explicit scoring rule; classification accuracy is sum_i 1[prediction_i=target_i]/n. Dummy estimators provide sanity-check baselines such as always selecting the training set's most frequent class. Accuracy can conceal poor minority-class performance, motivating metrics such as balanced accuracy. Methodological inference for technical tasks: define the correctness criterion and baseline before selection, evaluate candidates on the same validation cases, and apply the frozen criterion to the final test set. A syntax check, exact-answer comparison, and executable task test measure different properties.

  14. Hugging Face model cards: locating license terms

    Hub model repositories declare licensing in the README model card's metadata. For a custom license, the documented fields are license: other, license_name and license_link; the link can point to external terms or a LICENSE file in the repository. Deployment-review inference: inspect the actual terms for the exact artifact and revision, including referenced policies and relevant upstream model terms, rather than treating the displayed tag as the complete agreement. Download availability and the inference runtime's separate software license do not establish the permissions governing model weights.

  15. MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases

    Zechun Liu and colleagues at Meta introduced MobileLLM in a February 22, 2024 preprint. They investigated architecture choices for sub-billion-parameter models, combining deep, narrow networks, shared embeddings, and grouped-query attention; MobileLLM-LS additionally reused adjacent block weights. Their specialized API-calling experiment trained on 5,000 generated examples and tested on 2,500. MobileLLM-350M scored 65.3% intent exact match and 48.8% structure exact match, versus 62.8% and 50.9% for LLaMA-v2 7B. Separate iPhone profiling distinguished loading, initialization, and execution rather than treating startup as warm inference.

  16. FunctionGemma model card

    Google reports Mobile Actions evaluation results of 58% for base FunctionGemma and 85% after task specialization, measuring identification and formatting of mobile system calls. Its separate device test used a Samsung S25 Ultra CPU, LiteRT XNNPACK, four threads, 512 prefill tokens, and 32 decode tokens. The Mobile Actions dynamic-int8 row lists a 1024-token context configuration, 288 MB model size, 551 MB peak RSS, and 0.3-second time to first token. RSS is resident set size: the reported process-memory measure differs from model-file size. The card states that FunctionGemma is not intended as a direct dialogue model.

  17. Combining Neural Networks and Context-Driven Search for On-Line, Printed Handwriting Recognition in the Newton

    Apple's Print Recognizer combined a neural character classifier with searches over possible stroke groupings and words. The developers initially restricted the task to hand printing, where pen lifts helped separate strokes, while allowing words outside the dictionaries to avoid forcing every input into a known word. The authors identify December 1995 as its first shipment in Newton OS 2.0 MessagePad 120 units. Its input consisted of pen coordinates and pen-up/down information, illustrating a specialized local recognition pipeline rather than general-purpose text generation.

  18. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

    Google's April 17, 2017 preprint addressed recognition tasks that needed timely execution on constrained mobile and embedded platforms. MobileNets used factorized convolutions and adjustable network width and input resolution to produce models suited to different resource limits. The paper distinguishes designing small networks directly from compressing existing networks and notes that reducing model size alone does not necessarily optimize speed. Applications included classification, detection, face attributes, and geolocation.

  19. Introducing llamafile

    Mozilla announced llamafile's first release on November 29, 2023. Developed by Justine Tunney, it combined llama.cpp with Cosmopolitan Libc to package language-model weights into executable files intended to run across multiple operating systems without a separate installation. The consequential change was a distribution mechanism that brought model data and execution software together, reducing the setup required to try a local generative model.

  20. llama.cpp early repository snapshot at 920a7fe

    This early llama.cpp snapshot states the goal of running four-bit LLaMA inference on a MacBook CPU using C/C++, Arm Neon, and Apple's Accelerate framework. Its README includes a published run of the 7B model and explicitly says that only that model had been tested. It also records a recently corrected bug producing invalid output. The snapshot documents a concrete accessibility contribution: a compact CPU execution path for an existing language model, with model conversion and quantization tools alongside the executable.

  21. CUDA Programming Guide: Programming Model

    The host is the CPU and its memory; the device is the GPU and its memory. A kernel is a function invoked for GPU execution. Its launch organizes threads into blocks and blocks into a grid. Each block executes on one streaming multiprocessor, or SM, whose resources support computation and cooperation. A grid can contain far more blocks than can execute simultaneously, and ordinary blocks cannot assume scheduling order or depend on another block becoming resident. CUDA groups threads into 32-thread warps. Under single-instruction, multiple-thread execution, threads follow the same kernel code but may take different branches; inactive lanes are masked while a branch executes.

  22. Develop AI applications for Copilot+ PCs

    A neural processing unit, or NPU, is specialized hardware for neural-network mathematical operations; software must target it to use it. Microsoft's profiling guidance separates model loading and runtime-session creation from inference, CPU preprocessing and postprocessing, individual operator timing, and NPU activity. Windows tracing can identify processes and call stacks submitting NPU work. This provides observable execution evidence beyond the presence of NPU hardware.

  23. GPU delegates for LiteRT

    LiteRT delegates enable execution on specialized processors. Its GPU delegate supports a specified subset of operations and versions. Unsupported operations can leave execution split between GPU and CPU; the guide warns that synchronization overhead often makes this slower than running the whole network on CPU. Such partial delegation emits warnings rather than a runtime-failure callback. Input representation also matters: compatible four-channel camera input can avoid a conversion copy otherwise needed for three-channel images.

  24. TensorFlow Lite is now LiteRT

    On September 4, 2024, Google's AI Edge team announced the TensorFlow Lite name changing to LiteRT, short for Lite Runtime. The announcement connected the change to support beyond TensorFlow, including models authored in PyTorch, JAX, and Keras. It described a progressive documentation and package transition rather than a replacement of existing applications. This links older TensorFlow Lite research and deployment examples to later LiteRT documentation.

  25. ONNX Runtime: Model Usability Checker

    The mobile usability checker examines supported operations, input shapes, and the partitions assignable to NNAPI or CoreML. Its published ResNet fixture reports two CoreML partitions containing 120 of 122 nodes, with an unsupported Flatten operation and a dynamic-shape restriction. The output separately lists unchecked operator conditions. Fixing shapes changes estimated coverage but does not remove every unsupported operation. The guide requires performance testing against CPU execution rather than treating its recommendation as measured accelerator performance.

  26. Deploying ONNX Runtime Web

    Browser deployment requires application JavaScript, the appropriate WebAssembly runtime binaries, and model files. Models using external tensor data need that data supplied too. Missing or incorrectly served WebAssembly binaries prevent initialization even when model files exist. Worker loading also depends on origin and content-security rules, and WebGPU requires a secure context. Offline-design implication: caching weights alone is insufficient when runtime binaries, workers, or other required assets still depend on network retrieval.

  27. Foundry Local: Cutting-Edge AI Experiences on Device with ONNX Runtime and Olive — Emma Ning, Microsoft

    The presented stack combines runtime acceleration with hardware-specific model variants and device-aware model discovery.

  28. Android: Memory allocation among processes

    Android distinguishes persistent storage from RAM and zRAM, which holds compressed swapped pages within RAM. CPU and GPU access the same RAM. Resident set size, or RSS, counts a process's shared and private resident pages. Proportional set size, or PSS, assigns each process a fraction of shared pages; unique set size, or USS, counts only unshared pages. Summing RSS across processes can therefore count shared allocations repeatedly. The platform also reclaims memory and terminates processes under pressure, so total installed RAM is not a private allocation available to one inference task.

  29. MLX: Unified memory

    On Apple silicon, CPU and GPU access the same memory pool. MLX arrays do not need an explicit device location; operations specify where they execute, and the scheduler handles dependencies between CPU and GPU work. This avoids the explicit array copies between separate device memory spaces found in other execution arrangements. Unified memory is an architecture property with implications for model placement, not an infinite resource or a guarantee that a given model will run quickly.

  30. Linux mmap(2) manual

    Memory mapping creates a region in a process's virtual address space backed by a file or another object. Mapping is distinct from ensuring that its pages are already resident in RAM: Linux documents later page faults and a prefaulting option that performs file read-ahead to reduce subsequent blocking. Application implication: mapping a model file is not proof that its working data are resident or that execution will avoid storage access; mapped size alone is not a physical-memory measurement.

  31. MCUNet: Tiny Deep Learning on IoT Devices

    Ji Lin and colleagues at MIT, National Taiwan University, and MIT-IBM Watson AI Lab presented MCUNet at NeurIPS 2020. It jointly designed constrained neural architectures through TinyNAS and model-specific execution through TinyEngine. TinyEngine generated code and planned intermediate storage using the complete model, while TinyNAS searched architectures that fit the resulting resource limits. On the default STM32F746 target, Table 2 reports 61.8% ImageNet accuracy for TinyNAS with TinyEngine versus 55.5% with CMSIS-NN under the study's runnable-model constraints. The contribution was coordinating model and runtime design rather than assuming a small weight file ensured deployment.

  32. Quantize ONNX models — ONNX Runtime

    Linear quantization represents an approximate floating-point value as scale times an integer offset from a zero point. Fewer representable values reduce precision. Static activation quantization estimates parameters from calibration inputs and stores them for reuse; dynamic quantization calculates parameters during inference, adding work. Quantization-aware training retrains with quantization effects considered and is distinct from post-training conversion. The documentation recommends comparing original and quantized weights and activations to localize accuracy loss and keeping problematic tensors at higher precision when needed.

  33. A Practical Guide to Efficient AI

    Weight quantization reduces the precision used to represent model weights, shrinking their storage and memory requirements.

  34. Scikit-learn: separating fitting, selection, and final evaluation

    Training data fit model parameters; validation data or cross-validation compare configuration choices. A separate test set remains held out for final evaluation. Repeatedly adjusting settings to improve test results leaks test knowledge into selection and makes the reported score optimistic. In k-fold validation, each candidate trains on k-1 folds and is evaluated on the remaining fold, repeating across folds. Preprocessing must also be fitted within the training partition. Applying the same principle to local AI means selecting prompts, quantization, retrieval settings, and decoding configurations before examining final held-out task results.

  35. Roofline Performance Model — NERSC

    The Roofline model relates attainable arithmetic throughput to compute capacity, memory bandwidth, and arithmetic intensity: operations performed per byte moved at a specified memory level. Low-intensity work can be limited by moving data rather than executing arithmetic. Reuse can increase intensity by doing more work per transferred byte. Roofline is an upper performance envelope; measured execution can lie below it because of additional inefficiencies. The same workload can fall in different limiting regimes on different hardware.

  36. Mastering LLM Inference Optimization: From Theory to Cost-Effective Deployment

    The illustrated inference loop has a prefill stage for the prompt followed by incremental decoding, with different computation shapes.

  37. GenAI-Perf: latency and throughput measurement

    GenAI-Perf defines TTFT as first-response receipt minus request-send time, and request latency as final-response receipt minus send time. Its inter-token latency divides the interval between successive responses by the latter response's generated-token count. Output-token throughput is total generated tokens divided by benchmark duration; request throughput is final responses divided by duration. A p99 latency is the 99th percentile of the specified latency observations, not an average. The tool supports concurrency, request rate, warmup count, measurement intervals, and input/output-length controls. Reproducible comparisons must report those settings and the workload/tokenizer.

  38. RIVA ASR Developer Pack Overview

    For automatic speech recognition, the guide defines real-time factor as processing time divided by audio duration. Values below one indicate processing faster than the duration of the supplied audio; the reciprocal gives the speed multiple. Its reported measurements process complete audio buffers after warmup, excluding initialization warmup transcriptions. Therefore, a favorable real-time factor for this benchmark does not by itself establish live microphone-to-text latency or the time until a streaming transcript becomes final.

  39. ML Kit GenAI Speech Recognition API

    The API accepts streaming microphone or audio-file input and returns a stream of transcriptions. Early text can be partial and subject to revision before becoming final. Integration requires checking model readiness, downloading required features when absent, and closing the recognition client to release resources. This supplies a concrete workload distinction: displaying an early transcript and obtaining finalized text are different milestones.

  40. Google SRE: Handling Overload

    Admission controls and per-customer quotas limit resource consumption so one workload does not exhaust shared capacity. Resource usage can be a better capacity signal than requests per second because requests vary in cost. Graceful degradation reduces work by returning less complete results or using cheaper, potentially stale cached data. Client-side throttling can prevent rejected requests from consuming backend resources. Under extreme overload, even degraded computation may be impossible and explicit errors are necessary.

  41. Adding metadata to LiteRT models

    LiteRT metadata describes model inputs, required preprocessing, outputs, and associated files. Vocabulary files map text pieces to identifiers; classification labels give meaning to output categories. The documented packaging mechanism can bundle such files with the model in a ZIP-compatible .tflite artifact. Input normalization and numerical quantization are separate operations: inference must use the normalization expected by the model, while quantization handling depends on tensor types. Successfully loading weights therefore does not establish that an application supplies or interprets values correctly.

  42. Transformers: model-specific chat serialization

    A chat template converts ordered role/content messages into the token sequence a causal model continues, inserting model-specific role markers, message boundaries and special tokens. Models fine-tuned from the same base can require different formats: Mistral-Instruct brackets user messages with instruction delimiters, while Zephyr uses explicit speaker markers. The guide warns that incompatible control tokens degrade performance. Where the format requires it, add_generation_prompt=True appends the assistant-start marker; omitting it can cause continuation of the user's message instead of a reply. Some templates need no such marker. Templates already supply required special tokens: use apply_chat_template(tokenize=True), or tokenize the rendered string with add_special_tokens=False to avoid duplicated beginning/end tokens.

  43. Core ML: Downloading and Compiling a Model on the User’s Device

    Apple documents downloading models after application installation as an alternative to bundling every model, allowing applications to fetch only the models needed for particular features or locales. The downloaded .mlmodel must be compiled into .mlmodelc before this workflow creates an MLModel instance. Compilation produces a temporary artifact; Apple recommends moving reusable compiled models into persistent application storage to avoid repeating download and compilation. Delivery, preparation, and persistent readiness are therefore distinct stages.

  44. Understand built-in model management in Chrome

    Chrome documents resumable model downloads after connectivity loss, continuation after the initiating tab closes, and browser-restart resumption within its stated conditions. Some APIs require additional adaptation weights alongside the base model. Updates download a complete replacement while the existing model remains usable; a prompt running during the switch can fail. Disk pressure or eligibility changes can purge the model, including during a session. After deletion, an application must trigger a new download. Availability at session start therefore does not establish continued offline readiness.

  45. Android AtomicFile

    AtomicFile writes replacement data into a new file, synchronizes completed data to disk, and then renames it over the original. finishWrite commits the replacement; failWrite closes the stream and removes the new file. The class supplies no locking, so callers must prevent conflicting accesses. A constructed model-installation design could use this primitive to replace a small active-version record after staging and validating its referenced artifacts; the documented guarantee concerns one file, not the whole model package.

  46. The Update Framework: authenticated update workflow

    TUF starts from trusted root metadata specifying authorized keys and signature thresholds. Clients verify signed timestamp, snapshot, and targets metadata, then verify downloaded targets against authenticated hashes and lengths. Signatures and target hashes resist unauthorized substitution. Persisted metadata versions allow rejection of older metadata, resisting rollback; cross-role version checks also prevent inconsistent combinations. Expiration checks against the fixed update-start time detect attempts to keep clients indefinitely on stale metadata. These mechanisms complement one another: a valid signature alone does not prove freshness.

  47. LiteRT: Benchmark Interpreter API

    LiteRT's benchmark tooling separately measures initialization time, warmup inference, steady-state inference, initialization memory usage, and overall memory usage. Android and iOS benchmark applications share core measurement logic with command-line tools, while options and output differ by environment. The guide cautions that even its Android benchmark application's numbers differ from inference integrated into the actual application.

  48. Chrome Prompt API: stopping prompts and managing sessions

    Chrome's Prompt API accepts an AbortSignal for stopping an individual prompt. Destroying a session aborts ongoing execution, frees its resources, and makes the session unusable. The guide notes that keeping a session can avoid repeated creation costs. It also demonstrates rebuilding conversational context through initialPrompts after a browser restart. This is restoration from supplied messages, not a documented checkpoint of an interrupted model computation.

  49. Android: Processes and app lifecycle

    Android controls application-process lifetime using component activity, user importance, and available system memory. Its documented example shows a thread started by a broadcast receiver being terminated when the receiver returns and the process becomes reclaimable. Processes are prioritized for termination under memory pressure; even foreground processes can be killed as a last resort. Application implication: an active inference thread and its in-memory state do not constitute durable task progress.

  50. Chrome: Page Lifecycle API

    A frozen page suspends freezable tasks such as JavaScript timers and fetch callbacks. A discarded page is unloaded to conserve resources and cannot run a final cleanup callback. Chrome recommends saving state before these transitions and checking document.wasDiscarded when a page is loaded again. Application implication: browser inference cannot rely on a visible tab, an outstanding promise, or an unload handler to preserve unfinished work; recovery must reconstruct the task from state that was actually saved.

  51. Foundry Local: Cutting-Edge AI Experiences on Device with ONNX Runtime and Olive — Emma Ning, Microsoft

    Download the required model before losing connectivity; local execution does not imply offline first-time setup.

  52. ONNX Runtime Java API: OrtSession.RunOptions

    Setting RunOptions.setTerminate(true) requests termination as soon as possible for all incomplete run calls using that RunOptions instance. Resetting the flag allows the options to be reused. Application implication: sharing the same options object across concurrent requests also shares the cancellation scope; request-specific cancellation requires controlling which calls use that object.

  53. Dissecting the Impact of Mobile DVFS Governors on LLM Inference Performance and Energy Efficiency

    Dynamic voltage and frequency scaling, or DVFS, changes component operating settings to balance power and execution time. This study measures device energy and inference latency on Pixel 7 and Pixel 7 Pro using llama.cpp with GPU execution. It compares default CPU, GPU, and memory governors with controlled frequency combinations, finding combinations that reduce latency without increasing energy for tested workloads. Its energy accounting incorporates both power and runtime: lower instantaneous power does not necessarily mean less energy per completed workload.

  54. Android Thermal API: sustained performance limits

    Android documents that thermal state depends on environmental conditions, recent use, and device thermal design. High performance may be sustainable only temporarily before throttling; an overheated device may need workload below its sustainable level to dissipate heat. Thermal status and headroom help identify this constraint. Inference-testing implication: compare initial performance with repeated measurements during prolonged identical load, recording elapsed time, thermal observations, latency, throughput, and environmental conditions. A decline coinciding with thermal limits supports a thermal explanation more strongly than a single short benchmark.

  55. Android Power Profiler: observations and attribution limits

    Android Studio's Power Profiler exposes system-trace observations from the On Device Power Rails Monitor, separating available hardware subsystems such as CPU, GPU, memory and display. The guide specifies Pixel 6 and later Pixel devices running Android 10/API 29 or higher; available rails vary by device. Unsupported devices may expose battery capacity in percent, remaining charge in microampere-hours and instantaneous current in microamperes through battery gauges. ODPM observations are device-level, not app-specific, so other active applications introduce noise. The guide supports correlating traces with app activity and comparing alternative implementations. Inference-testing application: repeat an identical sustained workload under controlled background activity, recording energy alongside completed work, latency, throughput and thermal state.

  56. Gemini Nano on device — Florina Muntenescu & Oli Gaymond, Google DeepMind

    Distinguish occasional interactive inference from sustained processing, and defer latency-insensitive batches to charging periods.

  57. Overview of the ML Kit GenAI APIs

    ML Kit describes GenAI inference inputs and outputs as processed on-device through AICore, with a model shared across applications. Device and language availability vary by API and downloaded model. Different Gemini Nano versions can produce different outputs for the same prompt; getBaseModelName() exposes the version identity. AICore applies short-period request quotas and longer-duration battery-use quotas. GenAI inference requires the top foreground application; even a foreground service can receive BACKGROUND_USE_BLOCKED.

  58. MELTing point: Mobile Evaluation of Language Transformers

    MELT ran four-bit Zephyr-3B on an iPhone 14 Pro through 50 consecutive prompts, repeating the experiment three times, and observed declining throughput. The authors hypothesize changes in energy and frequency-management modes rather than demonstrating those transitions directly. Their infrastructure uses battery-bypass power monitoring, thermal imaging, and synchronized application events; communication baselines are subtracted. A separate Instruments trace of Zephyr-3B shows memory allocation and GPU computation occurring sequentially, with compute waiting during allocations. These observations connect sustained performance and execution traces to device feasibility.

  59. Transformers installation: offline mode

    Transformers requires necessary files to be downloaded and cached before use in an offline or firewalled environment. The guide demonstrates downloading a model repository in advance. HF_HUB_OFFLINE=1 prevents HTTP calls to the Hub during model loading, while local_files_only=True restricts from_pretrained() to local files. A populated cache and an explicit offline loading policy are distinct from merely having the Python library installed.

  60. TLMs: Tiny LLMs and Agents on Edge Devices with LiteRT-LM

    Offline operation depends on the selected skill's dependencies, even when model inference runs locally.

  61. Android: Build an offline-first app

    Android distinguishes online-only writes, queued writes transmitted after connectivity returns, and lazy writes persisted locally before synchronization. Lazy writes can create conflicts requiring reconciliation. Its offline to-do example preserves newly created tasks locally; that local success precedes network synchronization. Pull-based caches can become stale or lack data during prolonged disconnection. The guidance also says unauthorized requests should not be retried until suitable credentials are available. Application implication: locally generated output, locally saved work, and a completed remote action are separate outcomes.

  62. Temporal Activity Execution

    An Activity Execution can comprise multiple task attempts. Temporal relies on timeouts to detect lost work, including worker crashes after invocation, and retries according to policy; limiting attempts to one prevents retry but does not prove an external effect failed. Cancellation is cooperative: activities receive service cancellation through heartbeats, can ignore it, and workflows may proceed without waiting for acceptance. A timed-out attempt may therefore continue while another attempt runs. Application consequence: treat an unconfirmed external mutation as uncertain, retain its operation identifier, reconcile against the receiving system, and use enforced idempotency or explicit recovery before repeating it. Timeout or cancellation is not evidence that a payment, message, or write was reversed.

  63. Neurosurgeon: Collaborative Intelligence Between the Cloud and Mobile Edge

    The University of Michigan's 2017 Neurosurgeon study investigated splitting neural-network execution between a mobile platform and a server because transferring inputs could outweigh faster server computation. Its AlexNet comparison used a 152 KB image, a Jetson TK1, and a Tesla K40 server with Caffe. Local GPU execution consumed less mobile-device energy than cloud processing over the studied LTE and 3G connections, while cloud processing over Wi-Fi consumed less than local execution. Layer-level partitioning could transfer intermediate results instead of the original input; the selected boundary depended on network conditions and server load.

  64. Compilers in the Age of LLMs

    Hybrid inference is presented as a future architecture in which small models near users cooperate with larger cloud models.

  65. W3C Media Capture and Streams

    The specification defines microphone and camera permissions as access to capture devices. A granted permission does not guarantee capture succeeds, because other constraints can prevent it. Its security discussion warns against using stored permission to automatically transmit media to a destination selected by a third party. Application implication: microphone access and authorization of a particular outbound destination are separate decisions; a capture permission should not serve as the application's cloud-transfer policy.

  66. Text Embeddings Reveal (Almost) As Much As Text

    Embedding inversion attempts to reconstruct text from its numerical embedding. The authors demonstrate reconstruction using a trained inversion model that repeatedly proposes text, re-embeds it, and corrects the proposal. Their threat model gives the attacker the target embedding and query access to the embedding model. The experiments also recover names from embedded clinical notes. Thus converting text into vectors locally does not by itself establish that transferring those vectors conceals the original information.

  67. Firebase AI Logic: hybrid inference on Android

    Firebase distinguishes unavailable, downloadable, downloading, and available on-device model states. An inference request does not automatically download a missing model: it falls back or fails according to the configured mode. warmup() separately loads the model and initializes runtime components. PREFER_ON_DEVICE permits cloud fallback; ONLY_ON_DEVICE throws when local execution cannot proceed. Unsupported request features can also trigger permitted fallback. Responses identify whether execution was local or cloud-hosted.

  68. Private Cloud Compute: A new frontier for AI privacy in the cloud

    Apple's 2024 Private Cloud Compute description makes the remote boundary explicit: the device constructs a request containing a prompt, selected model, and inference parameters, then encrypts it to validated processing nodes. Those nodes must access request data to compute a response; supporting load balancers do not receive the decryption keys. Apple describes deleting user data after returning the response and restricting operational metrics rather than exposing general-purpose inspection tools. This is remote processing with specified protections, not computation confined to the user's device.

  69. Stable Diffusion with Core ML on Apple Silicon

    Apple's implementation distinguishes first-load model preparation from subsequent cached loads. Its FAQ says preparation depends on the selected compute unit, and that using compiled .mlmodelc assets enables caching that .mlpackage loading does not provide in this pipeline. The mobile deployment guidance recommends testing the lowest-memory supported target, documents runtime peaks exceeding 2 GB depending on compute units, and offers a reduceMemory option. It warns that system load, model version, compute selection, and application design affect whether the process remains within its memory limit.

  70. Playwright: Service Workers

    Service workers can mediate browser requests and provide cached offline responses. Playwright's published fixture distinguishes a page's request from the service worker's actual network request: both can produce events, but only the latter is routable when the worker handles the page request. Disabling service workers can simplify interception while changing application behavior. The guide also documents that requests for updated service-worker main scripts cannot currently be routed. Browser-level request observations therefore need a stated coverage boundary when qualifying offline operation.

  71. MLPerf Tiny Benchmark

    Colby Banbury, Vijay Janapa Reddi, and collaborators presented MLPerf Tiny at NeurIPS 2021 to make heterogeneous embedded inference systems comparable. Version 0.5 paired keyword spotting, person-presence detection, image classification, and anomaly detection with datasets and quality targets. Its closed division constrained models and evaluation while allowing implementation changes. Timing excluded preprocessing and postprocessing. Energy measurement divided energy consumed during the timing window by completed inferences, reporting microjoules per inference. The reference implementation used TFLM on a NUCLEO-L4R5ZI board.

  72. MobileAIBench: Benchmarking LLMs and LMMs for On-Device Use Cases

    MobileAIBench separates desktop/server task evaluation from an iOS application measuring mobile latency and resource utilization. Its tasks include summarization on CNN/Daily Mail and XSum, scored with ROUGE measures. Mobile measurements include time to first token, total time, CPU and RAM usage, and battery drain; the reported device experiments use an iPhone 14. The framework illustrates why task effectiveness and device feasibility require different observations.

  73. Accelerating AI on Edge — Chintan Parikh and Weiyi Wang, Google DeepMind

    An agent can run its core inference locally while calling external knowledge APIs; offline operation and privacy depend on the tools it invokes.

  74. From model weights to API endpoint with TensorRT-LLM

    Batch-size effects can have sharp latency changes and eventually encounter GPU-memory limits.

  75. Infra behind Krea 2 - How to train and serve at scale

    Krea treated overheated GPUs as replacement candidates rather than spending training time troubleshooting them in place.

  76. Frontier AI at Home (literally)

    The speaker prioritizes memory capacity, memory bandwidth, and energy per byte moved for low-batch local decode.

  77. A Practical Guide to Efficient AI

    Evaluate task quality and trust and safety alongside device latency, hardware usage, and battery drain; Mobile AI Bench is presented as tooling for this work.

  78. Gemini Nano on device — Florina Muntenescu & Oli Gaymond, Google DeepMind

    Local inference processes prompts without sending them to a server; the described AICore service also isolates requests and does not retain their inputs and outputs.

  79. Gemini Nano on device — Florina Muntenescu & Oli Gaymond, Google DeepMind

    The described hybrid approach routes inference locally when Gemini Nano is available and otherwise uses cloud inference.

  80. Announcing TensorFlow Lite

    The TensorFlow team released TensorFlow Lite's developer preview on November 14, 2017, targeting smaller runtime binaries, faster initialization, and mobile acceleration. Its architecture separated model conversion, a FlatBuffers model file, application APIs, and an interpreter executing supported operators. Initial examples included MobileNet image classification and Smart Reply. TensorFlow Mobile remained the production option while Lite matured; the preview deliberately supported a constrained model set.