<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kavya</title>
    <description>The latest articles on DEV Community by Kavya (@kavs).</description>
    <link>https://dev.to/kavs</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4060840%2Fb046c557-6f43-4c6f-9db6-c1bbe64702fd.png</url>
      <title>DEV Community: Kavya</title>
      <link>https://dev.to/kavs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kavs"/>
    <language>en</language>
    <item>
      <title>How to Monetize Idle GPUs in 2026: A Technical Guide for Data Center Operators</title>
      <dc:creator>Kavya</dc:creator>
      <pubDate>Tue, 06 Oct 2026 12:42:54 +0000</pubDate>
      <link>https://dev.to/kavs/how-to-monetize-idle-gpus-in-2026-a-technical-guide-for-data-center-operators-3f9g</link>
      <guid>https://dev.to/kavs/how-to-monetize-idle-gpus-in-2026-a-technical-guide-for-data-center-operators-3f9g</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqkw4zkfyi99lh2lxcswt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqkw4zkfyi99lh2lxcswt.png" alt=" " width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you operate NVIDIA GPU hardware and it is sitting at low utilization, you are paying to run a data center for an empty building.&lt;/p&gt;

&lt;p&gt;Data centers average 12 to 18% GPU utilization. The rest of the time the hardware is powered on, cooling systems running, electricity meter ticking. No revenue. Meanwhile, AI developers cannot find compute. H100 rental rates climbed from $1.70/hr in late 2025 to $2.35/hr by March 2026. On-demand capacity is effectively sold out on most major neocloud platforms.&lt;/p&gt;

&lt;p&gt;This post covers how the packet.ai provider marketplace works technically, what hardware qualifies, how the provisioning layer is set up, and what the economics actually look like.&lt;/p&gt;




&lt;h2&gt;
  
  
  How the Provider Marketplace Model Works
&lt;/h2&gt;

&lt;p&gt;packet.ai sits between hardware owners (providers) and AI developers who need compute (buyers). Providers list their NVIDIA GPUs. The marketplace handles customer discovery, billing, VM provisioning, and support. Providers earn a share of the per-hour rental rate each time their hardware serves a workload.&lt;/p&gt;

&lt;p&gt;The key technical piece is the hosted.ai provisioning agent, a lightweight process that runs on your hosts and exposes a minimal API for VM lifecycle management only. It handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VM creation and teardown on demand&lt;/li&gt;
&lt;li&gt;GPU passthrough assignment per workload&lt;/li&gt;
&lt;li&gt;Network isolation between tenants&lt;/li&gt;
&lt;li&gt;Heartbeat and availability reporting to the marketplace scheduler&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It does not transmit customer workload data back to packet.ai. Source-level documentation of the agent is provided to all vetted providers who request it.&lt;/p&gt;

&lt;p&gt;You keep full root access, BMC access, and physical access to the hardware throughout. The agent does not elevate packet.ai's permissions on your systems beyond VM lifecycle calls.&lt;/p&gt;




&lt;h2&gt;
  
  
  Workload Isolation
&lt;/h2&gt;

&lt;p&gt;Each customer workload runs in an isolated container with dedicated GPU passthrough. On the Dedicated tier, no multi-tenant sharing of a single GPU between customers occurs. On the Dynamic tier, scheduler-enforced isolation keeps each workload's memory and compute separated even when co-located on shared hardware.&lt;/p&gt;

&lt;p&gt;For providers running sensitive adjacent workloads on the same cluster, the isolation model is worth reviewing in detail during onboarding. packet.ai provides the agent documentation before you commit.&lt;/p&gt;




&lt;h2&gt;
  
  
  Hardware Requirements
&lt;/h2&gt;

&lt;p&gt;Accepted GPUs, in order of rate band:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;GPU&lt;/th&gt;
&lt;th&gt;VRAM&lt;/th&gt;
&lt;th&gt;Generation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA B200&lt;/td&gt;
&lt;td&gt;180 GB HBM3e&lt;/td&gt;
&lt;td&gt;Blackwell&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA H200&lt;/td&gt;
&lt;td&gt;141 GB HBM3e&lt;/td&gt;
&lt;td&gt;Hopper&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA H100&lt;/td&gt;
&lt;td&gt;80 GB HBM3&lt;/td&gt;
&lt;td&gt;Hopper&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA A100 80G&lt;/td&gt;
&lt;td&gt;80 GB HBM2e&lt;/td&gt;
&lt;td&gt;Ampere&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA RTX 6000 Pro&lt;/td&gt;
&lt;td&gt;96 GB GDDR7&lt;/td&gt;
&lt;td&gt;Blackwell&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA L40S&lt;/td&gt;
&lt;td&gt;48 GB GDDR6&lt;/td&gt;
&lt;td&gt;Ada Lovelace&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA RTX 5090&lt;/td&gt;
&lt;td&gt;32 GB GDDR7&lt;/td&gt;
&lt;td&gt;Blackwell&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA RTX 4090&lt;/td&gt;
&lt;td&gt;24 GB GDDR6X&lt;/td&gt;
&lt;td&gt;Ada Lovelace&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Consumer-grade hardware and home-lab setups do not qualify. The infrastructure bar is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Network:&lt;/strong&gt; 1 Gbps or faster stable uplink, clean peering, low latency and jitter. Multi-node training and distributed inference are network-sensitive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting:&lt;/strong&gt; Colocation or owned datacenter. Not residential.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Power:&lt;/strong&gt; N+1 redundancy preferred, not required. BIOS configured for sustained 100% GPU load without thermal throttling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Uptime:&lt;/strong&gt; 99% or higher. Historical monitoring data speeds up the onboarding review.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What the Economics Look Like
&lt;/h2&gt;

&lt;p&gt;The blended average across all SKUs on the packet.ai provider network is &lt;strong&gt;$2.84/GPU/hr&lt;/strong&gt;, paid bi-weekly via direct deposit (ACH for US providers, SWIFT for international).&lt;/p&gt;

&lt;p&gt;At 80% utilization, a single GPU generates approximately $1,640/month. A 24-GPU node at the live network average of 87% utilization comes to $12,450/month.&lt;/p&gt;

&lt;p&gt;Rate cards by SKU and region are provided during onboarding. Blackwell-generation hardware earns the highest rate bands. Payouts include a per-node CSV breakdown for accounting.&lt;/p&gt;




&lt;h2&gt;
  
  
  What packet.ai Handles
&lt;/h2&gt;

&lt;p&gt;The reason most hardware operators don't build their own cloud product is that the commercial stack is expensive to build before the first dollar arrives. packet.ai absorbs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Customer acquisition:&lt;/strong&gt; thousands of KYC-verified AI developers and businesses already on the platform. No ads or sales cycle required from the provider.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Billing and collections:&lt;/strong&gt; invoicing, payment collection, currency conversion, bi-weekly payout.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer support:&lt;/strong&gt; 24/7 tier-1 and tier-2 support handled by packet.ai. Providers are escalated only for hardware-level incidents (node down, power event, fan failure).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer vetting:&lt;/strong&gt; KYC-verified businesses only. AUP enforcement filters crypto miners and abuse traffic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VM provisioning:&lt;/strong&gt; the hosted.ai agent handles the full VM lifecycle automatically.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Getting From Idle Hardware to First Payout
&lt;/h2&gt;

&lt;p&gt;Three steps, typically under seven days end to end:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Apply&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Submit your infrastructure details at &lt;a href="https://packet.ai/for-providers?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=idle-gpu-monetize&amp;amp;utm_content=step1-apply" rel="noopener noreferrer"&gt;packet.ai/for-providers&lt;/a&gt;. The review covers GPU model and BIOS revision, network quality, power setup, and hosting environment. Two-business-day turnaround.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Install the provisioning agent&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The hosted.ai agent installs on your hosts. Minimal API surface, audited codebase, source available to approved providers. Does not touch customer workloads or transmit data outside VM lifecycle calls.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Go live&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Your capacity appears on the marketplace. Real-time dashboard shows GPU-by-GPU utilization, occupancy state, and earnings. CSV export and API access available for monitoring integrations. First payout on the next bi-weekly cycle.&lt;/p&gt;

&lt;p&gt;No long-term contracts. No minimum GPU count. No penalty for withdrawing capacity.&lt;/p&gt;




&lt;h2&gt;
  
  
  Withdrawing Capacity
&lt;/h2&gt;

&lt;p&gt;Month-to-month terms. Withdraw at any time with no financial penalty. If a customer workload is active on your hardware when you exit, 14 days of notice lets the platform migrate it cleanly. After that, full control returns to you.&lt;/p&gt;

&lt;p&gt;This is practical for operators running mixed workloads: research clusters idle between training runs, colocation tenants with subletting rights, facilities with seasonal demand patterns.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where Demand Is Concentrated
&lt;/h2&gt;

&lt;p&gt;Fastest time to full occupancy after going live, by region:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;US East (Virginia): AI startups, enterprise inference, research labs&lt;/li&gt;
&lt;li&gt;EU Frankfurt and Amsterdam: Enterprise AI, GDPR-compliant inference&lt;/li&gt;
&lt;li&gt;UK London: Financial services, sovereign AI&lt;/li&gt;
&lt;li&gt;US West (California, Oregon): AI-native startups, fine-tuning workloads&lt;/li&gt;
&lt;li&gt;EU Dublin and Paris: Sovereign AI, European tech sector&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;APAC and LATAM providers are onboarded selectively based on active demand and latency profile.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Short Version
&lt;/h2&gt;

&lt;p&gt;GPU lead times hit 12 months in mid-2026. Demand is structural, not cyclical. If your NVIDIA hardware is at low utilization, there are paying workloads queued up for it right now.&lt;/p&gt;

&lt;p&gt;Application review: two business days. First revenue: typically under a week from approval.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://packet.ai/for-providers?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=idle-gpu-monetize&amp;amp;utm_content=footer-cta" rel="noopener noreferrer"&gt;Apply at packet.ai/for-providers&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://packet.ai/blog/monetize-idle-gpus-provider-guide?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=idle-gpu-monetize&amp;amp;utm_content=canonical-ref" rel="noopener noreferrer"&gt;packet.ai blog&lt;/a&gt;. packet.ai is a GPU cloud platform delivering NVIDIA B200, H100, A100, and RTX hardware at prices typically 50% or more below market, powered by hosted.ai's intelligent GPU scheduling platform.&lt;/em&gt;&lt;/p&gt;




</description>
      <category>gpu</category>
      <category>machinelearning</category>
      <category>cloudcomputing</category>
      <category>devops</category>
    </item>
    <item>
      <title>packet.ai Token Factory: A Managed LLM Inference API from the Team That Cut GPU Prices by 50%+</title>
      <dc:creator>Kavya</dc:creator>
      <pubDate>Mon, 21 Sep 2026 07:33:56 +0000</pubDate>
      <link>https://dev.to/kavs/packetai-token-factory-a-managed-llm-inference-api-from-the-team-that-cut-gpu-prices-by-50-2ka8</link>
      <guid>https://dev.to/kavs/packetai-token-factory-a-managed-llm-inference-api-from-the-team-that-cut-gpu-prices-by-50-2ka8</guid>
      <description>&lt;h2&gt;
  
  
  packet.ai Token Factory: A Managed LLM Inference API from the Team That Cut GPU Prices by 50%+
&lt;/h2&gt;

&lt;h2&gt;
  
  
  packet.ai Token Factory is a managed LLM inference API. OpenAI-compatible change
&lt;/h2&gt;

&lt;p&gt;your &lt;code&gt;base_url&lt;/code&gt;, swap your API key, and your existing SDK calls run against open-weight&lt;br&gt;
models with no GPU to manage, no serving stack to maintain, and per-token billing that&lt;br&gt;
drops to zero when your app is not generating tokens.&lt;/p&gt;

&lt;p&gt;Token Factory is launching soon. The waitlist is live at&lt;br&gt;
&lt;a href="https://packet.ai/token-factory?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=waitlist-intro" rel="noopener noreferrer"&gt;packet.ai/token-factory&lt;/a&gt;.&lt;br&gt;
Here's why the pricing will be different from what you're used to.&lt;/p&gt;


&lt;h2&gt;
  
  
  The GPU pricing track record
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://packet.ai/pricing?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=pricing-intro" rel="noopener noreferrer"&gt;packet.ai&lt;/a&gt; sells NVIDIA GPUs at prices that make most&lt;br&gt;
developers check the rate card twice.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://packet.ai/gpu/b200?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=gpu-b200" rel="noopener noreferrer"&gt;NVIDIA B200&lt;/a&gt; — 192GB HBM3e, Blackwell — is $3.75/hr&lt;br&gt;
on Dynamic and $6.99/hr on Dedicated. RunPod lists it at $5.89/hr. Lambda Labs at $6.99/hr.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://packet.ai/gpu/rtx-6000?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=gpu-rtx6000" rel="noopener noreferrer"&gt;NVIDIA RTX 6000 Pro&lt;/a&gt; — 96GB GDDR7 — is $0.66/hr&lt;br&gt;
on Dynamic. RunPod charges $2.09/hr for the same card. That is a 68% difference on&lt;br&gt;
the same silicon.&lt;/p&gt;

&lt;p&gt;Current live rates vs the competition, sourced from &lt;a href="https://packet.ai/pricing?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=pricing-table" rel="noopener noreferrer"&gt;packet.ai/pricing&lt;/a&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;GPU&lt;/th&gt;
&lt;th&gt;packet.ai&lt;/th&gt;
&lt;th&gt;RunPod&lt;/th&gt;
&lt;th&gt;Lambda Labs&lt;/th&gt;
&lt;th&gt;vs RunPod&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA B200 (192GB HBM3e)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$3.75/hr&lt;/strong&gt; Dynamic&lt;/td&gt;
&lt;td&gt;$5.89/hr&lt;/td&gt;
&lt;td&gt;$6.99/hr&lt;/td&gt;
&lt;td&gt;36% cheaper&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA RTX 6000 Pro (96GB GDDR7)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$0.66/hr&lt;/strong&gt; Dynamic&lt;/td&gt;
&lt;td&gt;$2.09/hr&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;68% cheaper&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA A100 80GB&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$1.43/hr&lt;/strong&gt; &lt;a href="https://packet.ai/dedicated-gpu-cloud?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=dedicated-table" rel="noopener noreferrer"&gt;Dedicated&lt;/a&gt;
&lt;/td&gt;
&lt;td&gt;$1.49/hr&lt;/td&gt;
&lt;td&gt;$1.99/hr&lt;/td&gt;
&lt;td&gt;28% vs Lambda&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NVIDIA RTX 4090 (24GB GDDR6X)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$0.39/hr&lt;/strong&gt; Dedicated&lt;/td&gt;
&lt;td&gt;$0.69/hr&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;43% cheaper&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Prices in USD/GPU-hr. Published starting rates, September 2026.&lt;/p&gt;

&lt;p&gt;This is what the &lt;a href="https://packet.ai/technology?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=scheduler" rel="noopener noreferrer"&gt;scheduler&lt;/a&gt; makes possible: co-locating&lt;br&gt;
workloads that stress different GPU dimensions so the silicon never contends. Same peak&lt;br&gt;
performance. Same VRAM. Lower price. That is the structural advantage.&lt;/p&gt;

&lt;p&gt;The same reasoning is now going into inference.&lt;/p&gt;


&lt;h2&gt;
  
  
  Why managed LLM inference pricing is broken
&lt;/h2&gt;

&lt;p&gt;If you're building any LLM-powered product at real volume, you've hit one of three walls.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Proprietary APIs.&lt;/strong&gt; OpenAI, Anthropic, Google. The developer experience is clean.&lt;br&gt;
The per-token cost at scale is not. Output tokens on frontier models compound fast&lt;br&gt;
every agent call, RAG retrieval, and background summarization job adds to the bill.&lt;br&gt;
And you're paying frontier rates for tasks that open-weight models handle just as well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Self-hosting on GPU compute.&lt;/strong&gt; Cheaper at steady-state volume. Also a part-time job.&lt;br&gt;
You pick a model, stand up vLLM or TGI, configure batching and quantization, write&lt;br&gt;
autoscaling logic, build monitoring, and respond to the 2am CUDA OOM that takes your&lt;br&gt;
endpoint down. Every hour spent there is an hour not spent on what you're building.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Managed open-weight inference.&lt;/strong&gt; Fireworks AI, Together AI, Groq, Replicate these&lt;br&gt;
exist. But most land closer to proprietary API rates than to what self-hosting actually&lt;br&gt;
costs. You're paying a GPU margin you can't see, on models whose serving cost has&lt;br&gt;
dropped significantly since 2024.&lt;/p&gt;

&lt;p&gt;Token Factory goes into the gap: managed inference, open-weight models, on packet.ai&lt;br&gt;
hardware, priced with the same logic as the GPU products.&lt;/p&gt;


&lt;h2&gt;
  
  
  What is packet.ai Token Factory?
&lt;/h2&gt;

&lt;p&gt;Token Factory is packet.ai's managed LLM inference API, built on the same GPU&lt;br&gt;
infrastructure that powers the packet.ai cloud.&lt;/p&gt;

&lt;p&gt;It exposes the same HTTP API OpenAI uses: &lt;code&gt;POST /v1/chat/completions&lt;/code&gt;, the same&lt;br&gt;
request schema (&lt;code&gt;model&lt;/code&gt;, &lt;code&gt;messages&lt;/code&gt;, &lt;code&gt;temperature&lt;/code&gt;, &lt;code&gt;tools&lt;/code&gt;), the same response format.&lt;br&gt;
Switching requires three config changes: &lt;code&gt;base_url&lt;/code&gt;, &lt;code&gt;api_key&lt;/code&gt;, and &lt;code&gt;model&lt;/code&gt; name.&lt;br&gt;
Nothing else.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Before
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;
&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sk-...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# After: same SDK, same code, one line changed
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;
&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;token-factory-endpoint&amp;gt;&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# published in dash.packet.ai/docs at launch
&lt;/span&gt;    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-packet-api-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;LangChain's &lt;code&gt;ChatOpenAI&lt;/code&gt;, LlamaIndex's OpenAI LLM class, any direct API call - all&lt;br&gt;
accept &lt;code&gt;base_url&lt;/code&gt; as a single parameter. Chains, agents, RAG pipelines, and tool-calling&lt;br&gt;
loops carry over without structural changes to your application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Token Factory includes at launch:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenAI-compatible endpoint (&lt;code&gt;POST /v1/chat/completions&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Streaming via Server-Sent Events&lt;/li&gt;
&lt;li&gt;Function calling for tool-use and agentic workflows&lt;/li&gt;
&lt;li&gt;Per-token billing with scale-to-zero&lt;/li&gt;
&lt;li&gt;US and EU regions&lt;/li&gt;
&lt;li&gt;No GPU to provision, no serving stack to maintain&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Who Token Factory is for
&lt;/h2&gt;

&lt;p&gt;Token Factory is not right for every workload. Here is where it fits clearly and&lt;br&gt;
where it does not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good fit:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solo developers who cannot justify renting a dedicated GPU for one application&lt;/li&gt;
&lt;li&gt;Teams whose OpenAI bill is growing faster than revenue&lt;/li&gt;
&lt;li&gt;ML engineers building agentic applications with high per-user call volume&lt;/li&gt;
&lt;li&gt;Any team running batch eval, RAG, summarization, classification, or extraction
at scale&lt;/li&gt;
&lt;li&gt;Teams reducing single-provider dependency and wanting a clean fallback endpoint&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Not the right fit:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Workloads that require extended frontier-model reasoning (o3, o4 class)&lt;/li&gt;
&lt;li&gt;Fine-tuning runs those need direct GPU access
(use a &lt;a href="https://packet.ai/dynamic-gpu-cloud?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=dynamic-finetuning" rel="noopener noreferrer"&gt;Dynamic POD&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;On-premise compliance requirements&lt;/li&gt;
&lt;li&gt;Teams still under 1,000 calls per day, a proprietary API is cheaper to start&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the detailed breakdown of each developer profile and when self-hosting is&lt;br&gt;
the better call, read &lt;a href="https://packet.ai/blog/who-is-token-factory-for?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=blog-who-tf-for" rel="noopener noreferrer"&gt;Who Is Token Factory For?&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Token Factory vs self-hosting vs proprietary APIs
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Factor&lt;/th&gt;
&lt;th&gt;Token Factory&lt;/th&gt;
&lt;th&gt;Self-host on GPU&lt;/th&gt;
&lt;th&gt;Proprietary API&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Billing model&lt;/td&gt;
&lt;td&gt;Per token, no idle cost&lt;/td&gt;
&lt;td&gt;Per GPU-hour (always on)&lt;/td&gt;
&lt;td&gt;Per token (frontier rates)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Setup time&lt;/td&gt;
&lt;td&gt;Minutes (URL + key swap)&lt;/td&gt;
&lt;td&gt;Hours to days (vLLM config)&lt;/td&gt;
&lt;td&gt;Minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scale-to-zero&lt;/td&gt;
&lt;td&gt;Yes, zero cost when idle&lt;/td&gt;
&lt;td&gt;Manual (stop the pod)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Infrastructure to manage&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;GPU + serving stack&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI SDK compatible&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes, via vLLM&lt;/td&gt;
&lt;td&gt;Yes (native)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Function calling&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Depends on config&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Streaming&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes, via vLLM&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best for&lt;/td&gt;
&lt;td&gt;Solo devs, growing startups&lt;/td&gt;
&lt;td&gt;High-volume steady-state&lt;/td&gt;
&lt;td&gt;Prototyping, frontier tasks&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you outgrow Token Factory and want direct GPU access to run your own stack,&lt;br&gt;
packet.ai's &lt;a href="https://packet.ai/dynamic-gpu-cloud?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=dynamic-comparison" rel="noopener noreferrer"&gt;Dynamic GPU tier&lt;/a&gt; starts at&lt;br&gt;
$0.66/hr and spins up in under 5 minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  How Token Factory will be priced
&lt;/h2&gt;

&lt;p&gt;We are not publishing rates before launch.&lt;/p&gt;

&lt;p&gt;Here is what you need to know in the meantime: the team that decided the B200 should&lt;br&gt;
cost $3.75/hr instead of $5.89/hr is building Token Factory. The same reasoning applies.&lt;br&gt;
Open-weight inference has improved faster than the price of calling it has dropped.&lt;br&gt;
There is no structural reason managed open-weight inference has to cost anywhere near&lt;br&gt;
what closed-model APIs charge. We do not think it should.&lt;/p&gt;

&lt;p&gt;If you have been watching our &lt;a href="https://packet.ai/pricing?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=pricing-track" rel="noopener noreferrer"&gt;GPU pricing&lt;/a&gt;, you have a&lt;br&gt;
reference point for the direction Token Factory pricing will take.&lt;/p&gt;




&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is packet.ai Token Factory?&lt;/strong&gt;&lt;br&gt;
Token Factory is packet.ai's managed LLM inference API. It serves open-weight models&lt;br&gt;
through a drop-in OpenAI-compatible endpoint, same API format, same SDK, change only&lt;br&gt;
&lt;code&gt;base_url&lt;/code&gt; and API key. Per-token billing with scale-to-zero, function calling, and&lt;br&gt;
streaming supported at launch. No GPU or serving stack to manage. Built on packet.ai's&lt;br&gt;
GPU infrastructure across US and EU regions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does Token Factory compare to Fireworks AI, Together AI, and Groq?&lt;/strong&gt;&lt;br&gt;
All four are managed inference options for open-weight models with OpenAI-compatible&lt;br&gt;
endpoints. Fireworks AI and Together AI offer larger model catalogs. Groq is optimized&lt;br&gt;
for raw throughput speed via dedicated LPU hardware. Token Factory's differentiation&lt;br&gt;
is pricing the same cost-structure advantage that makes packet.ai GPU rentals&lt;br&gt;
36-68% below RunPod on the same silicon is the foundation for how Token Factory&lt;br&gt;
will be priced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does Token Factory support function calling and streaming?&lt;/strong&gt;&lt;br&gt;
Yes to both. Streaming runs via Server-Sent Events. Function calling follows the same&lt;br&gt;
tool-use schema as OpenAI's API. Agent loops and tool-use workflows built on the OpenAI&lt;br&gt;
format carry over without changes to application logic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When does Token Factory launch and how do I get access?&lt;/strong&gt;&lt;br&gt;
Token Factory is launching soon. Access opens in waves starting with the waitlist.&lt;br&gt;
&lt;a href="https://packet.ai/token-factory?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=waitlist-faq" rel="noopener noreferrer"&gt;Join at packet.ai/token-factory&lt;/a&gt; we'll email&lt;br&gt;
when your spot is ready.&lt;/p&gt;




&lt;h2&gt;
  
  
  Get in before the first wave
&lt;/h2&gt;

&lt;p&gt;Token Factory opens access to waitlist members first.&lt;/p&gt;

&lt;p&gt;If per-token cost is a real number in your budget, or you have been looking for a&lt;br&gt;
managed inference option that does not charge like it is pre-DeepSeek pricing still,&lt;br&gt;
this is worth 30 seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://packet.ai/token-factory?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=waitlist-cta" rel="noopener noreferrer"&gt;Join the Token Factory waitlist&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Related: &lt;a href="https://packet.ai/blog/who-is-token-factory-for?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=blog-footer" rel="noopener noreferrer"&gt;Who Is Token Factory For?&lt;/a&gt; &lt;br&gt;
the full breakdown on which developer profiles Token Factory is and is not built for,&lt;br&gt;
including when running your own stack on a &lt;a href="https://packet.ai/dynamic-gpu-cloud?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=token-factory-launch&amp;amp;utm_content=dynamic-footer" rel="noopener noreferrer"&gt;Dynamic GPU&lt;/a&gt;&lt;br&gt;
is the right call instead.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>llm</category>
      <category>machinelearning</category>
      <category>api</category>
      <category>devops</category>
    </item>
    <item>
      <title>Best GPU Cloud Providers for AI in 2026: Developer Comparison With Code</title>
      <dc:creator>Kavya</dc:creator>
      <pubDate>Tue, 25 Aug 2026 11:38:15 +0000</pubDate>
      <link>https://dev.to/kavs/best-gpu-cloud-providers-for-ai-in-2026-developer-comparison-with-code-4dk4</link>
      <guid>https://dev.to/kavs/best-gpu-cloud-providers-for-ai-in-2026-developer-comparison-with-code-4dk4</guid>
      <description>&lt;h1&gt;
  
  
  I Tested Every Major GPU Cloud So You Don't Have To
&lt;/h1&gt;

&lt;p&gt;Last quarter my team spent three weeks benchmarking GPU clouds for our LLM inference pipeline. We had a simple requirement: run Llama 3 70B in production, keep latency under 2 seconds, and don't spend a fortune doing it.&lt;/p&gt;

&lt;p&gt;What followed was a crash course in how differently each provider approaches the same problem.&lt;/p&gt;

&lt;p&gt;Here's everything we learned, with actual code.&lt;/p&gt;




&lt;h2&gt;
  
  
  Who This Is For
&lt;/h2&gt;

&lt;p&gt;If you're an ML engineer, backend developer, or startup CTO trying to figure out where to run your AI workloads in 2026, this is the guide I wish existed when we started. We cover:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real provisioning workflows, not just marketing claims&lt;/li&gt;
&lt;li&gt;Code snippets that actually run&lt;/li&gt;
&lt;li&gt;Cost estimates based on real usage&lt;/li&gt;
&lt;li&gt;Honest takes on where each provider wins and loses&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  TL;DR: Quick Provider Summary
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Dev Experience&lt;/th&gt;
&lt;th&gt;GPU Availability&lt;/th&gt;
&lt;th&gt;B200?&lt;/th&gt;
&lt;th&gt;Best Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AWS&lt;/td&gt;
&lt;td&gt;Moderate friction&lt;/td&gt;
&lt;td&gt;Good with reservation&lt;/td&gt;
&lt;td&gt;Preview&lt;/td&gt;
&lt;td&gt;Enterprise MLOps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Azure&lt;/td&gt;
&lt;td&gt;Moderate friction&lt;/td&gt;
&lt;td&gt;Good with reservation&lt;/td&gt;
&lt;td&gt;Preview&lt;/td&gt;
&lt;td&gt;Azure OpenAI integration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GCP&lt;/td&gt;
&lt;td&gt;Moderate friction&lt;/td&gt;
&lt;td&gt;Good (TPU excellent)&lt;/td&gt;
&lt;td&gt;Announced&lt;/td&gt;
&lt;td&gt;JAX/TF training&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CoreWeave&lt;/td&gt;
&lt;td&gt;Good for large clusters&lt;/td&gt;
&lt;td&gt;Strong (reserved)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Lab-scale training&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lambda Labs&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;td&gt;Moderate (books out)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Research workloads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RunPod&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;td&gt;Variable&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Budget experiments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;packet.ai&lt;/td&gt;
&lt;td&gt;Very good&lt;/td&gt;
&lt;td&gt;Strong&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;AI-native GPU compute&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  What "AI Workload" Actually Means in Practice
&lt;/h2&gt;

&lt;p&gt;Before we get into providers, let's be specific. "AI workload" means different things to different teams:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pre-training / full training:&lt;/strong&gt; Hundreds to thousands of GPU-hours, multi-node clusters, InfiniBand networking, checkpoint storage. If you're doing this, you already know your requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fine-tuning:&lt;/strong&gt; Single-node or small multi-GPU, 1-100 GPU-hours, high VRAM GPUs (A100 80GB, H100). Iteration speed matters more than raw cluster size.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Inference serving:&lt;/strong&gt; Low latency, high throughput, VRAM-efficient, OpenAI API compatibility, autoscaling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evaluation and benchmarking:&lt;/strong&gt; Short burst compute, flexibility over raw performance.&lt;/p&gt;

&lt;p&gt;Most developers are in the fine-tuning or inference bucket. That's where the real provider differences show up.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Real Developer Workflow: Deploying vLLM for LLM Inference
&lt;/h2&gt;

&lt;p&gt;Here's a concrete example. Deploying Llama 3 70B with &lt;a href="https://github.com/vllm-project/vllm" rel="noopener noreferrer"&gt;vLLM&lt;/a&gt; for inference is the same across every provider once you have SSH. The difference is how fast you get there and what it costs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: SSH into your instance
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh ubuntu@your-instance-ip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Install vLLM
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;vllm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Run inference in Python
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;vllm&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;LLM&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SamplingParams&lt;/span&gt;

&lt;span class="n"&gt;llm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;LLM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;meta-llama/Meta-Llama-3-70B-Instruct&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;tensor_parallel_size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;dtype&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;bfloat16&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;max_model_len&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;8192&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;sampling_params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;SamplingParams&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;temperature&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;max_tokens&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;512&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;outputs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What is the difference between A100 and B200?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="n"&gt;sampling_params&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;outputs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;outputs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 4: Serve as OpenAI-compatible API
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; vllm.entrypoints.openai.api_server &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--model&lt;/span&gt; meta-llama/Meta-Llama-3-70B-Instruct &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--tensor-parallel-size&lt;/span&gt; 2 &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--host&lt;/span&gt; 0.0.0.0 &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--port&lt;/span&gt; 8000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 5: Hit the endpoint with OpenAI SDK
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http://your-instance-ip:8000/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;not-needed-for-local&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;meta-llama/Meta-Llama-3-70B-Instruct&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain GPU memory bandwidth in simple terms&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;choices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This workflow runs identically on every provider that gives SSH access to an NVIDIA GPU. The differences come down to provisioning speed, GPU options, and hourly cost.&lt;/p&gt;




&lt;h2&gt;
  
  
  Provider Breakdown: The Developer Perspective
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AWS
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/machine-learning/" rel="noopener noreferrer"&gt;Amazon Web Services&lt;/a&gt; gives you GPU instances through EC2. The key instance types for AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;p4d.24xlarge&lt;/code&gt; -- 8x A100 40GB, NVLink, roughly $32/hr on-demand&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;p4de.24xlarge&lt;/code&gt; -- 8x A100 80GB, NVLink, roughly $40/hr on-demand&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;p5.48xlarge&lt;/code&gt; -- 8x H100 80GB, NVLink + EFA, roughly $98/hr on-demand
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 run-instances &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--image-id&lt;/span&gt; ami-0abcdef1234567890 &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--instance-type&lt;/span&gt; p4d.24xlarge &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--key-name&lt;/span&gt; your-key-pair &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--security-group-ids&lt;/span&gt; sg-your-group &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--subnet-id&lt;/span&gt; subnet-your-subnet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://aws.amazon.com/sagemaker/" rel="noopener noreferrer"&gt;SageMaker&lt;/a&gt; wraps this with managed training, experiment tracking, model registry, and deployment pipelines. Genuinely useful if you need that. The friction: on-demand availability for large GPU instances is unreliable without a reservation. NVIDIA B200 is currently preview-only.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dev experience verdict:&lt;/strong&gt; If you're already AWS-native, it works. For raw GPU access without managed services, the friction is higher than it needs to be.&lt;/p&gt;




&lt;h3&gt;
  
  
  Google Cloud Platform
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://cloud.google.com/ai" rel="noopener noreferrer"&gt;Google Cloud&lt;/a&gt; GPU instances run on A2 (A100) and A3 (H100) machine families. TPU access is unique to GCP.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gcloud compute instances create gpu-instance &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--zone&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;us-central1-a &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--machine-type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;a2-highgpu-1g &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--accelerator&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1,type&lt;span class="o"&gt;=&lt;/span&gt;nvidia-tesla-a100 &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--image-family&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;tf-latest-gpu &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--image-project&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;deeplearning-platform-release &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--boot-disk-size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;100GB &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--metadata&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"install-nvidia-driver=True"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;TPU access requires a completely separate workflow and JAX/TF framework commitment. If your stack is CUDA-based, TPUs require a meaningful porting effort.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dev experience verdict:&lt;/strong&gt; Strong for Vertex AI and JAX-native workloads. CUDA-based GPU access has the same friction as other hyperscalers.&lt;/p&gt;




&lt;h3&gt;
  
  
  CoreWeave
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://coreweave.com" rel="noopener noreferrer"&gt;CoreWeave&lt;/a&gt; is Kubernetes-native. Their workflow uses GPU workloads as Kubernetes pods, which is excellent if your ML team already uses Kubernetes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;apiVersion&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;v1&lt;/span&gt;
&lt;span class="na"&gt;kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Pod&lt;/span&gt;
&lt;span class="na"&gt;metadata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;vllm-inference&lt;/span&gt;
&lt;span class="na"&gt;spec&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;containers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;vllm&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;vllm/vllm-openai:latest&lt;/span&gt;
    &lt;span class="na"&gt;resources&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;limits&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;nvidia.com/gpu&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;2"&lt;/span&gt;
        &lt;span class="na"&gt;memory&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;160Gi"&lt;/span&gt;
    &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;python"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;-m"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;vllm.entrypoints.openai.api_server"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
    &lt;span class="na"&gt;args&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--model"&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;meta-llama/Meta-Llama-3-70B-Instruct"&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--tensor-parallel-size"&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;2"&lt;/span&gt;
  &lt;span class="na"&gt;restartPolicy&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Never&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Their H100 and H200 capacity is legitimate. InfiniBand networking for multi-node training is available. The catch: casual on-demand access is harder than with providers that offer instant provisioning. NVIDIA B200 is available through reservation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dev experience verdict:&lt;/strong&gt; Excellent for Kubernetes-native teams running large clusters. Less accessible for quick iteration or solo developers.&lt;/p&gt;




&lt;h3&gt;
  
  
  Lambda Labs
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://lambdalabs.com" rel="noopener noreferrer"&gt;Lambda Labs&lt;/a&gt; has a clean API and competitive pricing. Their instance availability can be tight for popular GPU types.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://cloud.lambdalabs.com/api/v1/instance-operations/launch&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-api-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;region_name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;us-east-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;instance_type_name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gpu_1x_a100_sxm4&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ssh_key_names&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-ssh-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;quantity&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Strong for research use cases. No inference-as-a-service layer. NVIDIA B200 not yet available.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dev experience verdict:&lt;/strong&gt; Good for straightforward GPU access. Availability is the main friction point for popular instance types.&lt;/p&gt;




&lt;h3&gt;
  
  
  RunPod
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://runpod.io" rel="noopener noreferrer"&gt;RunPod&lt;/a&gt; is fast to spin up and cheap for experimentation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;runpod

runpod config

runpod pod create &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--gpu-type&lt;/span&gt; &lt;span class="s2"&gt;"NVIDIA A100 80GB"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--image&lt;/span&gt; runpod/pytorch:latest &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--ports&lt;/span&gt; &lt;span class="s2"&gt;"8000/http"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--volume-size&lt;/span&gt; 50
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For serverless inference RunPod is particularly developer-friendly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;runpod&lt;/span&gt;

&lt;span class="n"&gt;runpod&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-api-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;endpoint&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;runpod&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Endpoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-endpoint-id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;run_request&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;input&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;prompt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain transformers in two sentences&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;run_request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;output&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Dev experience verdict:&lt;/strong&gt; Best for quick experiments and budget inference. Third-party hardware tier has variable reliability. Not the right choice for production workloads where uptime matters.&lt;/p&gt;




&lt;h3&gt;
  
  
  packet.ai
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://packet.ai" rel="noopener noreferrer"&gt;packet.ai&lt;/a&gt; is the provider that surprised me the most during our benchmarking. The pitch is simple: dedicated NVIDIA GPUs, hourly billing, no reservation commitment, SSH-ready in minutes.&lt;/p&gt;

&lt;p&gt;After instance provisioning, access is immediate:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh ubuntu@your-packet-instance-ip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Environment setup is clean:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; nvidia-cuda-toolkit

pip &lt;span class="nb"&gt;install &lt;/span&gt;torch torchvision torchaudio &lt;span class="nt"&gt;--index-url&lt;/span&gt; https://download.pytorch.org/whl/cu121

pip &lt;span class="nb"&gt;install &lt;/span&gt;vllm

nvidia-smi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No driver drama. No 15-minute wait. The GPU is just there.&lt;/p&gt;

&lt;p&gt;For inference using &lt;a href="https://packet.ai/token-factory" rel="noopener noreferrer"&gt;Token Factory&lt;/a&gt;, packet.ai's OpenAI-compatible inference API:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="c1"&gt;# Switching from OpenAI to packet.ai Token Factory
# is literally just changing base_url and api_key
&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.packet.ai/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-packet-api-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;llama-3-70b-instruct&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;system&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;You are a helpful assistant.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What makes NVIDIA B200 different from H100?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="n"&gt;max_tokens&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;512&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;temperature&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;choices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's the whole migration from OpenAI to packet.ai for inference. Base URL change and a key swap.&lt;/p&gt;

&lt;p&gt;For fine-tuning on packet.ai's &lt;a href="https://packet.ai/gpus/a100" rel="noopener noreferrer"&gt;A100&lt;/a&gt; or &lt;a href="https://packet.ai/gpus/rtx-6000-pro" rel="noopener noreferrer"&gt;RTX 6000 Pro&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;transformers&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AutoModelForCausalLM&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;AutoTokenizer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TrainingArguments&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Trainer&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;peft&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;LoraConfig&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;get_peft_model&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;

&lt;span class="n"&gt;model_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;meta-llama/Meta-Llama-3-8B&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;tokenizer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AutoTokenizer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_pretrained&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AutoModelForCausalLM&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_pretrained&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;torch_dtype&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;bfloat16&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;device_map&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;auto&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;peft_config&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;LoraConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;task_type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;CAUSAL_LM&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;lora_alpha&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;lora_dropout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;target_modules&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;q_proj&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;v_proj&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get_peft_model&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;peft_config&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;training_args&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;TrainingArguments&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;output_dir&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;./results&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;num_train_epochs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;per_device_train_batch_size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;gradient_accumulation_steps&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;warmup_steps&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;learning_rate&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;2e-4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;bf16&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;logging_steps&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;save_steps&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On packet.ai's &lt;a href="https://packet.ai/gpus/rtx-6000-pro" rel="noopener noreferrer"&gt;RTX 6000 Pro&lt;/a&gt; (48GB VRAM), this handles models up to 13B parameters comfortably. On &lt;a href="https://packet.ai/gpus/a100" rel="noopener noreferrer"&gt;A100&lt;/a&gt; (80GB), 70B models with quantization are doable.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://packet.ai/gpus/b200" rel="noopener noreferrer"&gt;NVIDIA B200&lt;/a&gt; availability on packet.ai is worth calling out separately. Most providers have B200 on a waitlist or behind a reservation requirement. packet.ai has it on hourly billing with no commitment. If you want to benchmark Blackwell GPU performance for your specific model today, this is your most practical path.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dev experience verdict:&lt;/strong&gt; The fastest path from "I need a GPU" to "I have a running GPU." &lt;a href="https://packet.ai/token-factory" rel="noopener noreferrer"&gt;Token Factory&lt;/a&gt; removes the need to manage inference infrastructure entirely if you don't want to. &lt;a href="https://packet.ai/pricing" rel="noopener noreferrer"&gt;Pricing&lt;/a&gt; is published and predictable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Choosing the Right GPU for Your Task
&lt;/h2&gt;

&lt;h3&gt;
  
  
  VRAM Requirements by Task
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Model Size&lt;/th&gt;
&lt;th&gt;Min VRAM&lt;/th&gt;
&lt;th&gt;Recommended Instance&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Inference only&lt;/td&gt;
&lt;td&gt;7B&lt;/td&gt;
&lt;td&gt;16GB&lt;/td&gt;
&lt;td&gt;&lt;a href="https://packet.ai/gpus/rtx-4090" rel="noopener noreferrer"&gt;RTX 4090&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inference only&lt;/td&gt;
&lt;td&gt;70B (4-bit)&lt;/td&gt;
&lt;td&gt;48GB&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://packet.ai/gpus/rtx-6000-pro" rel="noopener noreferrer"&gt;RTX 6000 Pro&lt;/a&gt; or &lt;a href="https://packet.ai/gpus/l40s" rel="noopener noreferrer"&gt;L40S&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fine-tuning (LoRA)&lt;/td&gt;
&lt;td&gt;7B&lt;/td&gt;
&lt;td&gt;24GB&lt;/td&gt;
&lt;td&gt;&lt;a href="https://packet.ai/gpus/rtx-6000-pro" rel="noopener noreferrer"&gt;RTX 6000 Pro&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fine-tuning (LoRA)&lt;/td&gt;
&lt;td&gt;70B&lt;/td&gt;
&lt;td&gt;80GB&lt;/td&gt;
&lt;td&gt;&lt;a href="https://packet.ai/gpus/a100" rel="noopener noreferrer"&gt;A100 80GB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Full fine-tuning&lt;/td&gt;
&lt;td&gt;7B&lt;/td&gt;
&lt;td&gt;80GB+&lt;/td&gt;
&lt;td&gt;&lt;a href="https://packet.ai/gpus/a100" rel="noopener noreferrer"&gt;A100 80GB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Training&lt;/td&gt;
&lt;td&gt;70B+&lt;/td&gt;
&lt;td&gt;Multi-GPU&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://packet.ai/gpus/a100" rel="noopener noreferrer"&gt;A100&lt;/a&gt; or &lt;a href="https://packet.ai/gpus/b200" rel="noopener noreferrer"&gt;B200&lt;/a&gt; cluster&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Real Cost Estimate: Fine-tuning Llama 3 8B
&lt;/h3&gt;

&lt;p&gt;Training with LoRA for 3 epochs on a 100K sample dataset takes roughly 8-12 GPU-hours on an A100.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS SageMaker ml.p4d.24xlarge: roughly $4-5 for compute, plus SageMaker overhead and egress&lt;/li&gt;
&lt;li&gt;Lambda Labs A100: roughly $8-12 total&lt;/li&gt;
&lt;li&gt;packet.ai RTX 6000 Pro: lower than A100 alternatives, published on &lt;a href="https://packet.ai/pricing" rel="noopener noreferrer"&gt;pricing page&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The RTX 6000 Pro is worth considering for fine-tuning runs that fit in 48GB VRAM. It's less expensive per hour than A100 while covering most LoRA fine-tuning tasks.&lt;/p&gt;




&lt;h2&gt;
  
  
  When to Self-Host Inference vs Use an API
&lt;/h2&gt;

&lt;p&gt;This is the question we spent the most time on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use &lt;a href="https://packet.ai/token-factory" rel="noopener noreferrer"&gt;Token Factory&lt;/a&gt; or similar API when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You're in early stages and want zero infrastructure overhead&lt;/li&gt;
&lt;li&gt;Request volume is unpredictable&lt;/li&gt;
&lt;li&gt;You need OpenAI API compatibility without running servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Self-host with &lt;a href="https://github.com/vllm-project/vllm" rel="noopener noreferrer"&gt;vLLM&lt;/a&gt; on packet.ai when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Request volume is predictable and high enough that per-token pricing adds up&lt;/li&gt;
&lt;li&gt;You need custom model weights (fine-tuned models, private checkpoints)&lt;/li&gt;
&lt;li&gt;Latency requirements need dedicated GPU access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The crossover point varies by model and request volume. For most production applications above 1M tokens per day, self-hosting on packet.ai's &lt;a href="https://packet.ai/gpus/l40s" rel="noopener noreferrer"&gt;L40S&lt;/a&gt; or &lt;a href="https://packet.ai/gpus/rtx-6000-pro" rel="noopener noreferrer"&gt;RTX 6000 Pro&lt;/a&gt; with vLLM becomes more cost-efficient than API pricing.&lt;/p&gt;




&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Q: Can I use Hugging Face models directly on any of these providers?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes. Hugging Face Hub access requires only &lt;code&gt;pip install transformers&lt;/code&gt; and a HF token. All providers that give SSH access work. For gated models like Llama 3 and Gemma, you need your token to have accepted the model license on the Hugging Face website first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What is the fastest way to get a GPU running for a quick experiment?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://packet.ai" rel="noopener noreferrer"&gt;packet.ai&lt;/a&gt; and &lt;a href="https://runpod.io" rel="noopener noreferrer"&gt;RunPod&lt;/a&gt; both provision instances quickly. packet.ai's dedicated instances are SSH-ready immediately after creation. For even faster experimentation without provisioning anything, packet.ai's &lt;a href="https://packet.ai/token-factory" rel="noopener noreferrer"&gt;Token Factory&lt;/a&gt; gives you inference via API with no GPU management required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Is there a free tier for GPU cloud?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google Colab has free T4 GPU access with session limits. For real workloads, there's no meaningful free tier. Most providers have low minimum billing thresholds. packet.ai bills hourly, so you can run a quick experiment and pay only for the time actually used.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Does NVIDIA B200 matter for inference workloads?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes. &lt;a href="https://www.nvidia.com/en-us/data-center/b200/" rel="noopener noreferrer"&gt;B200&lt;/a&gt; delivers significantly higher memory bandwidth than H100, which directly impacts inference throughput for large models. For serving 70B+ parameter models at production scale, B200 reduces the GPU count needed for a given throughput target. &lt;a href="https://packet.ai/gpus/b200" rel="noopener noreferrer"&gt;packet.ai&lt;/a&gt; offers B200 on hourly billing without a reservation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Can I run multi-GPU inference with vLLM on packet.ai?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes. &lt;a href="https://github.com/vllm-project/vllm" rel="noopener noreferrer"&gt;vLLM&lt;/a&gt;'s &lt;code&gt;tensor_parallel_size&lt;/code&gt; parameter distributes the model across GPUs. The example in this article shows a 2-GPU setup. The same approach scales to the GPU count of your instance on packet.ai.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: How do I reduce inference costs without switching providers?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Quantization is the biggest lever. Running a 70B model in 4-bit (GPTQ or AWQ) cuts VRAM requirements roughly in half, which means you can use a smaller GPU instance. &lt;a href="https://github.com/vllm-project/vllm" rel="noopener noreferrer"&gt;vLLM&lt;/a&gt; supports both formats natively. On packet.ai, moving from an A100 to an &lt;a href="https://packet.ai/gpus/rtx-6000-pro" rel="noopener noreferrer"&gt;RTX 6000 Pro&lt;/a&gt; for a quantized 70B model can significantly reduce hourly cost with minimal quality impact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What's the difference between packet.ai dedicated and dynamic instances?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dedicated instances give you exclusive physical access to the GPU. Your VRAM, your compute, no other tenants. Dynamic instances share underlying hardware at lower cost. For production inference or training where consistent throughput matters, dedicated is the right choice. For experimentation or burst workloads, dynamic saves money. Both are available on hourly billing at &lt;a href="https://packet.ai/pricing" rel="noopener noreferrer"&gt;packet.ai&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Take
&lt;/h2&gt;

&lt;p&gt;If you're starting a new AI project in 2026 and don't have existing cloud commitments, the stack I'd reach for is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://packet.ai" rel="noopener noreferrer"&gt;packet.ai&lt;/a&gt; for GPU compute (training and fine-tuning)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://packet.ai/token-factory" rel="noopener noreferrer"&gt;packet.ai Token Factory&lt;/a&gt; for managed inference&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/vllm-project/vllm" rel="noopener noreferrer"&gt;vLLM&lt;/a&gt; for self-hosted inference when volume justifies it&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://aws.amazon.com/machine-learning/" rel="noopener noreferrer"&gt;AWS&lt;/a&gt; or &lt;a href="https://azure.microsoft.com/en-us/solutions/ai/" rel="noopener noreferrer"&gt;Azure&lt;/a&gt; only if you need specific managed services that don't exist elsewhere&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The hyperscalers are still the right answer for some teams. But for developers who just need reliable GPUs with predictable pricing and fast provisioning, the specialist providers have pulled far enough ahead that defaulting to AWS purely out of habit no longer makes sense.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://packet.ai/pricing" rel="noopener noreferrer"&gt;packet.ai's pricing page&lt;/a&gt; is public. Run the numbers on your workload before committing to anything.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>gpu</category>
      <category>cloud</category>
    </item>
    <item>
      <title>LLM Inference APIs in 2026: How to Choose Between OpenAI, Open Models, and Self-Hosted GPUs</title>
      <dc:creator>Kavya</dc:creator>
      <pubDate>Thu, 13 Aug 2026 15:06:27 +0000</pubDate>
      <link>https://dev.to/kavs/llm-inference-apis-in-2026-how-to-choose-between-openai-open-models-and-self-hosted-gpus-1ihm</link>
      <guid>https://dev.to/kavs/llm-inference-apis-in-2026-how-to-choose-between-openai-open-models-and-self-hosted-gpus-1ihm</guid>
      <description>&lt;p&gt;If you are building an AI application, choosing the model is only part of the problem.&lt;/p&gt;

&lt;p&gt;Sooner or later, you also have to decide how you are going to run that model.&lt;/p&gt;

&lt;p&gt;You can call a proprietary model through an API such as OpenAI. You can deploy an open model yourself on a GPU using tools such as vLLM. Or you can use a managed inference API that hosts open models for you.&lt;/p&gt;

&lt;p&gt;All three work. The right choice depends on your traffic, model requirements, engineering resources, and how much you are willing to spend on inference.&lt;/p&gt;

&lt;p&gt;For developers working with open models, managed inference is becoming an interesting middle ground. You get an API instead of a GPU to manage, while keeping access to models such as Llama, Qwen, DeepSeek, and Mistral.&lt;/p&gt;

&lt;p&gt;That is the problem Token Factory from Packet.ai is built around.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is an LLM inference API?
&lt;/h2&gt;

&lt;p&gt;An LLM inference API gives your application access to a hosted language model through an API.&lt;/p&gt;

&lt;p&gt;Your application sends a request. The provider runs the model on its infrastructure and returns the response.&lt;/p&gt;

&lt;p&gt;You do not have to provision a GPU, download model weights, configure an inference server, or keep track of GPU capacity.&lt;/p&gt;

&lt;p&gt;The basic setup looks like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your application → LLM API → model → response&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This sounds simple, but the infrastructure behind that API can be quite complicated.&lt;/p&gt;

&lt;p&gt;Running an open model yourself can involve GPU selection, VRAM requirements, model loading, inference engines, autoscaling, monitoring, concurrency, and capacity planning.&lt;/p&gt;

&lt;p&gt;A managed inference provider takes care of that layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the main ways to run an LLM?
&lt;/h2&gt;

&lt;p&gt;There are three common approaches.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;When it makes sense&lt;/th&gt;
&lt;th&gt;What you get&lt;/th&gt;
&lt;th&gt;What you give up&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Proprietary API&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;You want a simple way to use leading closed models&lt;/td&gt;
&lt;td&gt;Easy setup and managed infrastructure&lt;/td&gt;
&lt;td&gt;Higher costs at large token volumes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Managed open-model API&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;You want open models without running GPUs&lt;/td&gt;
&lt;td&gt;Lower-cost inference with managed infrastructure&lt;/td&gt;
&lt;td&gt;Your choices depend on the provider's model lineup&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Self-hosted&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;You have high, predictable usage and an infrastructure team&lt;/td&gt;
&lt;td&gt;Full control over models and serving&lt;/td&gt;
&lt;td&gt;GPU costs and the work of running the stack&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;There is no universal winner here.&lt;/p&gt;

&lt;p&gt;A startup processing a few million tokens a month has a very different infrastructure problem from a company processing billions.&lt;/p&gt;

&lt;p&gt;That is why comparing providers only on model quality or price per million tokens can be misleading.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why use an open-model inference API?
&lt;/h2&gt;

&lt;p&gt;Open models have changed the economics of running AI applications.&lt;/p&gt;

&lt;p&gt;Models such as Llama, Qwen, DeepSeek, and Mistral can be used for many production workloads without requiring developers to build their own model-serving infrastructure.&lt;/p&gt;

&lt;p&gt;That makes it possible to separate two decisions:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which model should run the workload?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who should operate the infrastructure?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can choose an open model while letting someone else handle the GPUs.&lt;/p&gt;

&lt;p&gt;This is the main appeal of a managed open-model inference API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why does OpenAI compatibility matter?
&lt;/h2&gt;

&lt;p&gt;This is one of the most practical things to look for when choosing an inference provider.&lt;/p&gt;

&lt;p&gt;If your application already uses the OpenAI SDK, moving to another API can be annoying if you have to change your entire inference layer.&lt;/p&gt;

&lt;p&gt;An OpenAI-compatible API reduces that work.&lt;/p&gt;

&lt;p&gt;Token Factory uses an OpenAI-compatible API. Packet.ai says developers can change the &lt;code&gt;base_url&lt;/code&gt; to &lt;code&gt;api.packet.ai/v1&lt;/code&gt; and replace the API key while keeping their application code unchanged.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.packet.ai/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_PACKET_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;llama-3.3-70b&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain retrieval-augmented generation.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That matters when you want to test another provider without rebuilding the application around a new SDK.&lt;/p&gt;

&lt;p&gt;It also makes the inference provider easier to change later.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does Token Factory provide?
&lt;/h2&gt;

&lt;p&gt;Token Factory is Packet.ai's managed LLM inference API for open models.&lt;/p&gt;

&lt;p&gt;The current launch catalog has six models:&lt;/p&gt;

&lt;p&gt;Llama 3.1 8B has a 128K context window and costs $0.06 per 1M tokens. It is best suited for classification, routing, and summarization tasks.&lt;/p&gt;

&lt;p&gt;Mistral Small 3 supports a 32K context window and is priced at $0.18 per 1M tokens. It works well for tool calling and structured output generation.&lt;/p&gt;

&lt;p&gt;Llama 3.3 70B also supports a 128K context window and is priced at $0.59 per 1M tokens. It is a strong general-purpose model for chat, RAG systems, and agent workflows.&lt;/p&gt;

&lt;p&gt;Qwen2.5 72B offers a 128K context window at $0.62 per 1M tokens. It is particularly useful for multilingual applications and long-context reasoning tasks.&lt;/p&gt;

&lt;p&gt;DeepSeek-V3 supports a 64K context window and costs $0.85 per 1M tokens. It is optimized for coding, debugging, and complex reasoning problems.&lt;/p&gt;

&lt;p&gt;BGE-M3 has an 8K context window and is priced at $0.02 per 1M tokens. It is designed for embeddings and retrieval tasks in RAG pipelines.&lt;/p&gt;

&lt;p&gt;These are indicative launch prices. Input and output tokens are metered separately at the same listed rate for each model.&lt;/p&gt;

&lt;p&gt;The catalog is deliberately small rather than trying to list every open model available.&lt;/p&gt;

&lt;p&gt;The idea is to cover common production workloads with a handful of models.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which LLM should you use?
&lt;/h2&gt;

&lt;p&gt;The cheapest model is not automatically the right model.&lt;/p&gt;

&lt;p&gt;The better question is what the model actually needs to do.&lt;/p&gt;

&lt;h3&gt;
  
  
  Llama 3.1 8B for high-volume tasks
&lt;/h3&gt;

&lt;p&gt;If you are doing classification, routing, summarization, or structured extraction, you may not need a large model.&lt;/p&gt;

&lt;p&gt;Llama 3.1 8B is listed at $0.06 per million tokens on Token Factory and has a 128K context window.&lt;/p&gt;

&lt;p&gt;For simple workloads running at high volume, a smaller model can make a noticeable difference to your inference bill.&lt;/p&gt;

&lt;h3&gt;
  
  
  Llama 3.3 70B for general applications
&lt;/h3&gt;

&lt;p&gt;For chatbots, assistants, RAG applications, and more complex instruction-following tasks, Llama 3.3 70B is the general-purpose option in the catalog.&lt;/p&gt;

&lt;p&gt;It is currently listed at $0.59 per million tokens with a 128K context window.&lt;/p&gt;

&lt;h3&gt;
  
  
  DeepSeek-V3 for coding and reasoning
&lt;/h3&gt;

&lt;p&gt;DeepSeek-V3 is the higher-priced model in the current Token Factory catalog at $0.85 per million tokens.&lt;/p&gt;

&lt;p&gt;It is aimed at coding, debugging, and more complex reasoning workloads.&lt;/p&gt;

&lt;h3&gt;
  
  
  BGE-M3 for RAG retrieval
&lt;/h3&gt;

&lt;p&gt;RAG systems have two separate jobs.&lt;/p&gt;

&lt;p&gt;First, retrieve the relevant information.&lt;/p&gt;

&lt;p&gt;Then, generate the answer.&lt;/p&gt;

&lt;p&gt;BGE-M3 can handle the embedding side of that workflow. Token Factory currently lists it at $0.02 per million tokens.&lt;/p&gt;

&lt;p&gt;This is also a good example of why using one model for everything does not always make sense.&lt;/p&gt;

&lt;h2&gt;
  
  
  How much does LLM inference cost?
&lt;/h2&gt;

&lt;p&gt;The answer depends heavily on the model and the number of tokens you process.&lt;/p&gt;

&lt;p&gt;For example, using Token Factory's current listed rates, 10 million output tokens would cost approximately:&lt;/p&gt;

&lt;p&gt;Model: Llama 3.1 8B&lt;br&gt;
Price per 1M tokens: $0.06&lt;br&gt;
Cost for 10M output tokens: $0.60&lt;/p&gt;

&lt;p&gt;Model: Mistral Small 3&lt;br&gt;
Price per 1M tokens: $0.18&lt;br&gt;
Cost for 10M output tokens: $1.80&lt;/p&gt;

&lt;p&gt;Model: Llama 3.3 70B&lt;br&gt;
Price per 1M tokens: $0.59&lt;br&gt;
Cost for 10M output tokens: $5.90&lt;/p&gt;

&lt;p&gt;Model: DeepSeek-V3&lt;br&gt;
Price per 1M tokens: $0.85&lt;br&gt;
Cost for 10M output tokens: $8.50&lt;/p&gt;

&lt;p&gt;These are output-token calculations only. Input tokens are charged separately at the same model rate.&lt;/p&gt;

&lt;p&gt;Actual application costs will depend on how many input and output tokens your application generates.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;p&gt;A chatbot with long prompts and short answers has a different cost profile from an agent that sends large context windows and generates long responses.&lt;/p&gt;
&lt;h2&gt;
  
  
  How does managed inference compare with other providers?
&lt;/h2&gt;

&lt;p&gt;Price comparisons are most useful when you compare the same model.&lt;/p&gt;

&lt;p&gt;For Llama 3.3 70B, Packet.ai currently lists the following comparison:&lt;/p&gt;

&lt;p&gt;Packet.ai Token Factory offers Llama 3.3 70B at $0.59 per 1M input tokens and $0.59 per 1M output tokens, with OpenAI compatibility enabled.&lt;/p&gt;

&lt;p&gt;Together AI (Llama 3.3 70B Turbo) is priced at $1.04 per 1M input tokens and $1.04 per 1M output tokens, and it is OpenAI-compatible.&lt;/p&gt;

&lt;p&gt;Fireworks AI (Llama 3.3 70B) is priced at $0.90 per 1M input tokens and $0.90 per 1M output tokens, and it is OpenAI-compatible.&lt;/p&gt;

&lt;p&gt;Groq (Llama 3.3 70B) is priced at $0.59 per 1M input tokens and $0.79 per 1M output tokens, and it is OpenAI-compatible.&lt;/p&gt;

&lt;p&gt;AWS Bedrock (Llama 3.3 70B) is priced at $0.72 per 1M input tokens and $0.72 per 1M output tokens, but it is not OpenAI-compatible.&lt;/p&gt;

&lt;p&gt;Packet.ai says these rates were verified against the providers' official pricing pages in August 2026.&lt;/p&gt;

&lt;p&gt;The point of a comparison like this is not simply to find the lowest number.&lt;/p&gt;

&lt;p&gt;You also need to look at API compatibility, model availability, latency, throughput, scaling, features, and whether the provider fits your workload.&lt;/p&gt;
&lt;h2&gt;
  
  
  Managed inference vs self-hosting
&lt;/h2&gt;

&lt;p&gt;Self-hosting an open model gives you control.&lt;/p&gt;

&lt;p&gt;It also gives you more work.&lt;/p&gt;

&lt;p&gt;A typical self-hosted setup may involve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choosing the right GPU&lt;/li&gt;
&lt;li&gt;Provisioning the machine&lt;/li&gt;
&lt;li&gt;Installing the inference stack&lt;/li&gt;
&lt;li&gt;Downloading model weights&lt;/li&gt;
&lt;li&gt;Managing VRAM&lt;/li&gt;
&lt;li&gt;Configuring vLLM or another inference engine&lt;/li&gt;
&lt;li&gt;Handling traffic spikes&lt;/li&gt;
&lt;li&gt;Monitoring GPU utilization&lt;/li&gt;
&lt;li&gt;Scaling capacity&lt;/li&gt;
&lt;li&gt;Updating the model&lt;/li&gt;
&lt;li&gt;Handling failures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you already have an ML infrastructure team and your GPUs stay busy, this may be worth it.&lt;/p&gt;

&lt;p&gt;If you are building an MVP or running an application with unpredictable traffic, it may not be.&lt;/p&gt;

&lt;p&gt;This is where managed inference can make sense.&lt;/p&gt;

&lt;p&gt;You pay for inference instead of spending engineering time running the infrastructure.&lt;/p&gt;
&lt;h2&gt;
  
  
  When is self-hosting cheaper?
&lt;/h2&gt;

&lt;p&gt;There is no fixed answer.&lt;/p&gt;

&lt;p&gt;It comes down to utilization.&lt;/p&gt;

&lt;p&gt;If your GPU is busy around the clock, paying for a dedicated GPU can make sense.&lt;/p&gt;

&lt;p&gt;If your application receives traffic for a few hours a day and sits idle the rest of the time, you are paying for capacity you are not using.&lt;/p&gt;

&lt;p&gt;Token Factory takes the opposite approach. Packet.ai says the service scales to zero, so idle traffic costs nothing, with billing based on tokens rather than GPU hours.&lt;/p&gt;

&lt;p&gt;So the useful comparison is not:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GPU price vs token price&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does my workload cost at its actual utilization?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That is the number worth calculating.&lt;/p&gt;
&lt;h2&gt;
  
  
  Model routing can reduce inference costs
&lt;/h2&gt;

&lt;p&gt;There is another way to control LLM costs: stop sending every request to the same model.&lt;/p&gt;

&lt;p&gt;Consider a customer-support application.&lt;/p&gt;

&lt;p&gt;A simple request such as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Where can I download my invoice?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;probably does not need the same model as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Read these three contracts and explain the differences in their termination clauses."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You could route those requests differently.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intent classification → Llama 3.1 8B&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Document retrieval → BGE-M3&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;General response → Llama 3.3 70B&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Complex reasoning → DeepSeek-V3&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This kind of routing lets you spend more on the requests that actually need it.&lt;/p&gt;

&lt;p&gt;It also makes your inference architecture easier to optimize as usage grows.&lt;/p&gt;
&lt;h2&gt;
  
  
  What should you look for in an LLM inference API?
&lt;/h2&gt;

&lt;p&gt;Price is important, but it should not be the only thing you compare.&lt;/p&gt;
&lt;h3&gt;
  
  
  1. API compatibility
&lt;/h3&gt;

&lt;p&gt;Can you use your existing OpenAI SDK?&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Model selection
&lt;/h3&gt;

&lt;p&gt;Does the provider offer the models your application actually needs?&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Input and output pricing
&lt;/h3&gt;

&lt;p&gt;Are both sides of the request clearly priced?&lt;/p&gt;
&lt;h3&gt;
  
  
  4. Scaling
&lt;/h3&gt;

&lt;p&gt;What happens when traffic increases?&lt;/p&gt;

&lt;p&gt;What happens when traffic drops?&lt;/p&gt;
&lt;h3&gt;
  
  
  5. Production features
&lt;/h3&gt;

&lt;p&gt;Look for streaming, structured output, tool calling, rate limits, and other features your application depends on.&lt;/p&gt;
&lt;h3&gt;
  
  
  6. Data handling
&lt;/h3&gt;

&lt;p&gt;If you are building an enterprise application, check data retention, training policies, data residency, and compliance support.&lt;/p&gt;

&lt;p&gt;Token Factory currently lists US and EU data residency, DPA support, and says Packet.ai does not train on customer data.&lt;/p&gt;
&lt;h3&gt;
  
  
  7. Fine-tuning support
&lt;/h3&gt;

&lt;p&gt;If you have your own model or LoRA adapter, check whether the provider can host it.&lt;/p&gt;

&lt;p&gt;Token Factory says teams can bring their own LoRA adapter or full checkpoint and serve it through the same OpenAI-compatible endpoint.&lt;/p&gt;
&lt;h2&gt;
  
  
  Who should use a managed open-model API?
&lt;/h2&gt;

&lt;p&gt;A managed open-model API is worth considering if you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Are building an AI SaaS product&lt;/li&gt;
&lt;li&gt;Are working on an MVP&lt;/li&gt;
&lt;li&gt;Have bursty or unpredictable traffic&lt;/li&gt;
&lt;li&gt;Want to use open models&lt;/li&gt;
&lt;li&gt;Do not want to manage GPUs&lt;/li&gt;
&lt;li&gt;Want usage-based billing&lt;/li&gt;
&lt;li&gt;Already use the OpenAI SDK&lt;/li&gt;
&lt;li&gt;Want to test different models&lt;/li&gt;
&lt;li&gt;Have a small engineering team&lt;/li&gt;
&lt;li&gt;Want to keep infrastructure work out of the product roadmap&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Token Factory specifically positions itself for developers, indie builders, and smaller teams that want LLM inference without managing GPU infrastructure.&lt;/p&gt;
&lt;h2&gt;
  
  
  Who should probably self-host?
&lt;/h2&gt;

&lt;p&gt;Self-hosting may be a better fit if you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run millions of tokens every day&lt;/li&gt;
&lt;li&gt;Have consistently high GPU utilization&lt;/li&gt;
&lt;li&gt;Need a model that a managed provider does not offer&lt;/li&gt;
&lt;li&gt;Need control over vLLM configuration&lt;/li&gt;
&lt;li&gt;Need specific GPU hardware&lt;/li&gt;
&lt;li&gt;Need multi-GPU serving&lt;/li&gt;
&lt;li&gt;Already have ML infrastructure expertise&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, managed inference is not a replacement for self-hosting in every situation.&lt;/p&gt;

&lt;p&gt;The workload decides.&lt;/p&gt;
&lt;h2&gt;
  
  
  How do you switch from OpenAI to an open-model API?
&lt;/h2&gt;

&lt;p&gt;If your application already uses the OpenAI SDK, the process can be straightforward when the new provider supports the same API format.&lt;/p&gt;

&lt;p&gt;With Token Factory, for example, the main change is the API endpoint and API key:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.packet.ai/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_PACKET_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;llama-3.3-70b&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Summarize this document.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Packet.ai says the existing application code can remain unchanged when switching to its OpenAI-compatible endpoint.&lt;/p&gt;

&lt;p&gt;For a production migration, you should still test model quality, latency, token usage, error handling, rate limits, and output consistency before switching traffic.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the cheapest LLM inference API?
&lt;/h2&gt;

&lt;p&gt;There is no single provider that is cheapest for every model and workload.&lt;/p&gt;

&lt;p&gt;The useful comparison is model by model.&lt;/p&gt;

&lt;p&gt;For example, Packet.ai currently lists Llama 3.3 70B at $0.59 per million tokens, compared with $1.04 from Together AI and $0.90 from Fireworks AI.&lt;/p&gt;

&lt;p&gt;But price should always be checked against the provider's current pricing page because inference pricing changes frequently.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the best API for open-source LLMs?
&lt;/h2&gt;

&lt;p&gt;There is no single best API for every application.&lt;/p&gt;

&lt;p&gt;The right provider depends on the models you need, pricing, latency, throughput, API compatibility, infrastructure, and production features.&lt;/p&gt;

&lt;p&gt;If you want managed access to open models without operating GPUs yourself, providers such as Token Factory, Together AI, Fireworks AI, Groq, and others are worth comparing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is managed inference better than self-hosting?
&lt;/h2&gt;

&lt;p&gt;Not automatically.&lt;/p&gt;

&lt;p&gt;Managed inference removes infrastructure work and can make sense for variable workloads.&lt;/p&gt;

&lt;p&gt;Self-hosting gives you more control and can make economic sense when your GPUs remain highly utilized.&lt;/p&gt;

&lt;p&gt;The best choice depends on your workload and engineering resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is an OpenAI-compatible API?
&lt;/h2&gt;

&lt;p&gt;An OpenAI-compatible API follows the same general API structure and request format used by OpenAI.&lt;/p&gt;

&lt;p&gt;This can make it easier to move an existing application between inference providers because the application does not have to be rebuilt around a completely different API.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Token Factory?
&lt;/h2&gt;

&lt;p&gt;Token Factory is Packet.ai's managed inference API for open models.&lt;/p&gt;

&lt;p&gt;It currently offers six models, including Llama 3.1 8B, Llama 3.3 70B, Qwen2.5 72B, DeepSeek-V3, Mistral Small 3, and BGE-M3. It supports an OpenAI-compatible API, per-token billing, scale-to-zero, streaming, tool calling, JSON mode, and fine-tune hosting.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bigger decision is not just the model
&lt;/h2&gt;

&lt;p&gt;LLM infrastructure is becoming easier to access, but that does not mean the architecture decision has disappeared.&lt;/p&gt;

&lt;p&gt;You still need to decide:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which model is good enough for the task?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How many tokens will the application process?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How predictable is the traffic?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do you need to manage GPUs yourself?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How important is API compatibility?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What will the workload actually cost at scale?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For some teams, a proprietary API will still be the easiest option.&lt;/p&gt;

&lt;p&gt;For others, self-hosting will make sense.&lt;/p&gt;

&lt;p&gt;And for teams that want open models without running the infrastructure themselves, managed inference sits somewhere in between.&lt;/p&gt;

&lt;p&gt;That is the space Token Factory is targeting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try Token Factory
&lt;/h2&gt;

&lt;p&gt;Token Factory gives developers access to open models through a managed, OpenAI-compatible API.&lt;/p&gt;

&lt;p&gt;You can compare the models, pricing, supported features, and infrastructure on the official product page:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://packet.ai/token-factory" rel="noopener noreferrer"&gt;Explore Token Factory&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can also read the full technical breakdown, including the model catalog, pricing comparison, setup instructions, and self-hosted considerations:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://packet.ai/blog/token-factory-llm-inference-api" rel="noopener noreferrer"&gt;Read the Token Factory LLM Inference API guide&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you are already using the OpenAI SDK, the simplest test is to run an existing workload against the Token Factory endpoint and compare the things that actually matter: &lt;strong&gt;cost, latency, throughput, and output quality.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Renting GPUs for AI? Start with VRAM, Not the GPU</title>
      <dc:creator>Kavya</dc:creator>
      <pubDate>Wed, 05 Aug 2026 10:38:11 +0000</pubDate>
      <link>https://dev.to/kavs/renting-gpus-for-ai-start-with-vram-not-the-gpu-424g</link>
      <guid>https://dev.to/kavs/renting-gpus-for-ai-start-with-vram-not-the-gpu-424g</guid>
      <description>&lt;p&gt;If you're deploying an LLM for the first time, you've probably searched for something like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's the best GPU for AI?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's a common question, but it's usually the wrong place to start.&lt;/p&gt;

&lt;p&gt;Before comparing A100s, H100s, or Blackwell GPUs, answer one question first:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much VRAM does your workload actually need?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Choosing a GPU without first sizing VRAM often results in either out-of-memory errors or paying for memory you don't need. That's why infrastructure planning should start with the workload, not the hardware.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why VRAM Comes First&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For LLM inference, GPU memory is usually the first constraint.&lt;/p&gt;

&lt;p&gt;Your VRAM budget isn't just the model itself. It also includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Model weights&lt;/li&gt;
&lt;li&gt;KV cache&lt;/li&gt;
&lt;li&gt;Framework overhead&lt;/li&gt;
&lt;li&gt;Production headroom&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even two deployments running the same model can require very different amounts of memory depending on context length, concurrency, and inference settings.&lt;/p&gt;

&lt;p&gt;That's why choosing a GPU before understanding memory requirements often leads to poor infrastructure decisions.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Model Size Doesn't Tell the Whole Story&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Many developers assume parameter count directly determines GPU requirements.&lt;/p&gt;

&lt;p&gt;It doesn't.&lt;/p&gt;

&lt;p&gt;The same model can require dramatically different amounts of VRAM depending on precision and quantization.&lt;/p&gt;

&lt;p&gt;A model running in FP16 may require multiple high-memory GPUs, while the same model using 4-bit quantization can often fit on a single accelerator.&lt;/p&gt;

&lt;p&gt;Understanding this difference is one of the easiest ways to avoid over provisioning infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't Forget the KV Cache&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A deployment that works perfectly during testing can run into memory limits once it reaches production.&lt;/p&gt;

&lt;p&gt;One of the biggest reasons is the KV cache.&lt;/p&gt;

&lt;p&gt;Every active request stores key-value tensors in GPU memory. As context length and concurrency increase, so does memory consumption.&lt;/p&gt;

&lt;p&gt;Ignoring KV cache is one of the most common mistakes when sizing GPUs for production inference.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mixture-of-Experts Models Still Need Careful Planning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Another misconception is that Mixture-of-Experts (MoE) models only require memory for the experts used during inference.&lt;/p&gt;

&lt;p&gt;While only a subset of experts is activated for each token, the model's weights still need to be loaded into GPU memory when the model starts.&lt;/p&gt;

&lt;p&gt;That means VRAM planning remains just as important for MoE deployments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Better Way to Choose a GPU&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;p&gt;Which GPU should I rent?&lt;/p&gt;

&lt;p&gt;Start with these questions:&lt;/p&gt;

&lt;p&gt;Which model am I deploying?&lt;br&gt;
What precision or quantization will I use?&lt;br&gt;
How many concurrent requests do I expect?&lt;br&gt;
What context length will I support?&lt;br&gt;
How much VRAM will the complete workload require?&lt;/p&gt;

&lt;p&gt;Once those answers are clear, selecting the right GPU becomes much more straightforward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Choosing AI infrastructure isn't about renting the newest GPU.&lt;/p&gt;

&lt;p&gt;It's about matching your workload to the right amount of memory, compute, and infrastructure.&lt;/p&gt;

&lt;p&gt;Starting with VRAM helps avoid deployment failures, improves GPU utilization, and prevents unnecessary infrastructure costs.&lt;/p&gt;

&lt;p&gt;Packet.ai's guide walks through VRAM sizing for today's leading open-source models, explains common sizing mistakes, and maps workloads to GPU configurations to help teams make better infrastructure decisions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://packet.ai/blog/rent-gpu-for-ai-vram-requirements-guide" rel="noopener noreferrer"&gt;https://packet.ai/blog/rent-gpu-for-ai-vram-requirements-guide&lt;/a&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>llm</category>
      <category>gpu</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Why memory bandwidth matters more than TFLOPS for LLM inference</title>
      <dc:creator>Kavya</dc:creator>
      <pubDate>Mon, 03 Aug 2026 14:46:45 +0000</pubDate>
      <link>https://dev.to/kavs/why-memory-bandwidth-matters-more-than-tflops-for-llm-inference-4e6g</link>
      <guid>https://dev.to/kavs/why-memory-bandwidth-matters-more-than-tflops-for-llm-inference-4e6g</guid>
      <description>&lt;p&gt;Your GPU's TFLOPS rating does not decide how fast it generates tokens. Memory bandwidth does. Here's the spec that actually separates A100-era inference from H200-era inference.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;HBM3e reaches up to 9.6 Gb/s per pin versus HBM2e's 3.2 Gb/s, tripling per-pin signalling speed with the same 1,024-bit interface width.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Total GPU memory bandwidth jumps from 2.0 TB/s on the A100 (HBM2e) to 4.8 TB/s on the H200 (HBM3e), a 140% increase, and 8.0 TB/s on the B200.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;LLM token generation (decode phase) is memory-bound: tokens per second tracks memory bandwidth far more closely than TFLOPS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;H200 achieves 31,712 tokens/sec on Llama 2 70B with TensorRT-LLM, 45% faster than H100's 21,806 tokens/sec, driven entirely by the HBM3e memory upgrade.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HBM3e is 2.5x more power-efficient per watt than HBM2e, delivering higher bandwidth at lower voltage (1.1V versus 1.2V).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What is HBM and how does it work?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;High Bandwidth Memory is a form of stacked DRAM co-packaged with the GPU die on a shared silicon interposer, connected through Through-Silicon Vias (TSVs). Unlike GDDR6 memory sitting on separate chips across a PCB trace, HBM stacks sit microns from the compute die. The interface is wider, latency is lower, and bandwidth per watt is substantially better.&lt;/p&gt;

&lt;p&gt;For reference: GDDR6X on a consumer GPU achieves roughly 1.0 TB/s. HBM2e on the A100 doubles that at 2.0 TB/s. HBM3e on the H200 SXM more than doubles HBM2e again at 4.8 TB/s. Each generation achieves this by increasing per-pin signalling speed, not by widening the interface bus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HBM3e vs HBM2e: the numbers&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Specification&lt;/th&gt;
&lt;th&gt;HBM2e&lt;/th&gt;
&lt;th&gt;HBM3&lt;/th&gt;
&lt;th&gt;HBM3e&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Flagship GPU&lt;/td&gt;
&lt;td&gt;A100 SXM&lt;/td&gt;
&lt;td&gt;H100 SXM&lt;/td&gt;
&lt;td&gt;H200 / B200 SXM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total bandwidth&lt;/td&gt;
&lt;td&gt;2.0 TB/s&lt;/td&gt;
&lt;td&gt;3.35 TB/s&lt;/td&gt;
&lt;td&gt;4.8 TB/s (H200) / 8.0 TB/s (B200)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pin speed&lt;/td&gt;
&lt;td&gt;~3.2 Gb/s&lt;/td&gt;
&lt;td&gt;6.4 Gb/s&lt;/td&gt;
&lt;td&gt;up to 9.6 Gb/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memory capacity&lt;/td&gt;
&lt;td&gt;80 GB&lt;/td&gt;
&lt;td&gt;80 GB&lt;/td&gt;
&lt;td&gt;141 to 192 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Operating voltage&lt;/td&gt;
&lt;td&gt;1.2V&lt;/td&gt;
&lt;td&gt;1.1V&lt;/td&gt;
&lt;td&gt;1.1V&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Power efficiency vs HBM2e&lt;/td&gt;
&lt;td&gt;1x&lt;/td&gt;
&lt;td&gt;~2x&lt;/td&gt;
&lt;td&gt;2.5x&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Why LLM decode is memory-bound, not compute-bound&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;LLM inference runs in two phases. The prefill phase processes the full input prompt in one forward pass and is compute-bound. The decode phase generates one token per forward pass and is memory-bound: every token requires loading the complete model weight matrix and accumulated KV cache from HBM before a small amount of arithmetic work.&lt;/p&gt;

&lt;p&gt;At batch size 1, arithmetic intensity falls as low as 1 to 2 FLOP per byte — far below the compute-to-bandwidth ratio of even the A100. Memory bandwidth is the first bottleneck for real-world serving workloads at batch sizes below roughly 64 to 128, which covers most production inference deployments.&lt;/p&gt;

&lt;p&gt;This is why upgrading from an A100 (HBM2e, 2.0 TB/s) to an H200 (HBM3e, 4.8 TB/s) improves inference throughput by 2 to 3x on 70B parameter models.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benchmark: H200 vs H100 on Llama 2 70B&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;GPU&lt;/th&gt;
&lt;th&gt;HBM Type&lt;/th&gt;
&lt;th&gt;Bandwidth&lt;/th&gt;
&lt;th&gt;Llama 2 70B (tok/s)&lt;/th&gt;
&lt;th&gt;vs H100&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;H200 SXM&lt;/td&gt;
&lt;td&gt;HBM3e&lt;/td&gt;
&lt;td&gt;4.8 TB/s&lt;/td&gt;
&lt;td&gt;31,712&lt;/td&gt;
&lt;td&gt;+45%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;H100 SXM&lt;/td&gt;
&lt;td&gt;HBM3&lt;/td&gt;
&lt;td&gt;3.35 TB/s&lt;/td&gt;
&lt;td&gt;21,806&lt;/td&gt;
&lt;td&gt;baseline&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>llm</category>
      <category>gpu</category>
      <category>nvidia</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
