PageSourceSearch

https://flex.ai/assets/FineTuning-DNQiMzWa.js

js flex.ai collected 2026-09-25 04:11:53 UTC 19,088 bytes, 1 lines download raw bytes

1import{r as e}from"./rolldown-runtime-hePW80VL.js";import{d as t,n,u as r}from"./react-vendor-Bx0rRGkx.js";import{a as i,d as a,l as o,n as s,t as c}from"./SEOHead-D2_Na5KX.js";import{t as l}from"./createLucideIcon-DtIHWjV7.js";import{i as u,t as d}from"./TestimonialsSection-BQSUftu7.js";import{t as f}from"./circle-check-C1EcirS2.js";import{t as p}from"./dollar-sign-e-ZtcqVU.js";import{t as m}from"./receipt-DCDgfjJo.js";import{t as h}from"./sparkles-DKjAq69o.js";import{t as g}from"./target-g5ExMtXW.js";import{t as _}from"./trending-up-bk6dCMZu.js";import{r as v}from"./app-dvUn509z.js";import{c as y,n as b,r as x,s as S}from"./section-helpers-CiGrD-f0.js";import{l as C}from"./seo-CCvDaH4G.js";import{t as w}from"./HeroBackground-Cl1d2p_Q.js";import{t as T}from"./OutcomeCards-aKFYPJ1W.js";import{t as E}from"./RuntimeFactsSection-_MElSbJE.js";var D={name:`settings-2`,size:24,node:[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]};D.node;var O=l(D),k=e(r(),1),A=`/assets/finetuning-console-D9QQZk0b.png`,j=t(),M=({className:e=``})=>(0,j.jsx)(`div`,{className:`absolute rounded-full blur-[120px] pointer-events-none ${e}`});function N({children:e}){return(0,j.jsx)(`span`,{className:`inline-flex items-center rounded-full border border-primary/20 bg-secondary/60 px-3 py-1 text-xs font-medium text-secondary-foreground shadow-xs`,children:e})}function P(){let[e,t]=(0,k.useState)(`accuracy`),n=[{key:`accuracy`,title:`Accuracy`,subtitle:`Model quality first`,desc:`Fine tuning built for accuracy. Focus on model quality while the platform handles the infrastructure.`,points:[`Optimize for accuracy, precision, and F1 score`,`Evaluate, iterate, and optimize faster using proven fine tuning recipes`,`Support for domain and task specific adaptation and optimization`,`Automatic evaluation pipelines with metric tracking`],tag:`Quality focused`,Icon:g},{key:`ease`,title:`Ease`,subtitle:`Parallel execution with ease`,desc:`Run fine tuning where it makes the most sense. Hardware agnostic execution across providers and accelerators.`,points:[`Support for LoRA, quantization, pruning, and knowledge distillation`,`Hardware agnostic execution across NVIDIA and AMD accelerators`,`Deployment across AWS, Azure, GCP, and on-prem`,`Connect cloud storage to use your data for fine tuning`],tag:`Multi cloud`,Icon:h},{key:`orchestration`,title:`Orchestration`,subtitle:`Smart scheduling and orchestration`,desc:`Fine tuning compute adapts to workload intent. Intelligent scheduling with parallelized multi GPU execution.`,points:[`Intelligent compute scheduling that uses appropriate resources for business needs`,`Parallelized multi GPU execution with stable synchronization`,`Managed checkpoints with automatic versioning and rollback`,`Automatic resource allocation based on job requirements`],tag:`Auto managed`,Icon:O}],r=n.find(t=>t.key===e);return(0,j.jsxs)(`div`,{className:`mt-10 rounded-3xl border border-border bg-card/70 p-6 shadow-xs backdrop-blur-xs`,children:[(0,j.jsxs)(`div`,{className:`flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`div`,{className:`text-lg font-display font-semibold text-foreground`,children:`Choose the fine tuning approach that fits your goal`}),(0,j.jsx)(`div`,{className:`mt-1 text-sm text-muted-foreground`,children:`Optimize for accuracy, simplify execution, or let the platform orchestrate everything.`})]}),(0,j.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:n.map(n=>{let r=n.key===e;return(0,j.jsxs)(`button`,{onClick:()=>t(n.key),className:`inline-flex items-center gap-2 rounded-full px-4 py-2 text-sm font-semibold shadow-xs transition `+(r?`bg-primary text-primary-foreground`:`border border-border bg-card text-foreground hover:bg-muted`),children:[(0,j.jsx)(n.Icon,{className:`h-5 w-5 ${r?`text-primary-foreground`:`text-primary`}`}),(0,j.jsx)(`span`,{children:n.title})]},n.key)})})]}),(0,j.jsxs)(`div`,{className:`mt-6 grid gap-5 md:grid-cols-2`,children:[(0,j.jsxs)(`div`,{className:`rounded-2xl border border-border bg-card p-6 shadow-xs`,children:[(0,j.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,j.jsx)(`div`,{className:`flex h-11 w-11 items-center justify-center rounded-xl border border-border bg-card shadow-xs`,children:(0,j.jsx)(r.Icon,{className:`h-5 w-5 text-primary`})}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`div`,{className:`text-base font-semibold text-foreground`,children:r.subtitle}),(0,j.jsx)(`div`,{className:`mt-2`,children:(0,j.jsx)(N,{children:r.tag})})]})]}),(0,j.jsx)(`ul`,{className:`mt-5 space-y-3 text-sm text-muted-foreground`,children:r.points.map(e=>(0,j.jsxs)(`li`,{className:`flex gap-2`,children:[(0,j.jsx)(f,{className:`mt-0.5 h-5 w-5 flex-none text-primary`}),(0,j.jsx)(`span`,{children:e})]},e))}),(0,j.jsx)(`div`,{className:`mt-6 rounded-xl border border-primary/20 bg-secondary/40 px-4 py-3 text-sm text-secondary-foreground`,children:`Tip: Start with accuracy to validate quality. Use ease for multi cloud execution. Scale with orchestration for production jobs.`})]}),(0,j.jsxs)(`div`,{className:`space-y-4`,children:[(0,j.jsxs)(`div`,{className:`rounded-2xl border border-border bg-card p-5 shadow-xs`,children:[(0,j.jsx)(`div`,{className:`text-sm font-semibold text-foreground`,children:`LoRA Fine Tuning`}),(0,j.jsx)(`div`,{className:`mt-1 text-sm text-primary`,children:`Parameter efficient. Fast iteration.`}),(0,j.jsxs)(`div`,{className:`mt-3 space-y-2 text-sm text-muted-foreground`,children:[(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[(0,j.jsx)(f,{className:`mt-0.5 h-4 w-4 flex-none text-primary`}),(0,j.jsx)(`span`,{children:`Train a fraction of parameters with low rank adapters`})]}),(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[(0,j.jsx)(f,{className:`mt-0.5 h-4 w-4 flex-none text-primary`}),(0,j.jsx)(`span`,{children:`Faster training cycles with lower GPU memory requirements`})]}),(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[(0,j.jsx)(f,{className:`mt-0.5 h-4 w-4 flex-none text-primary`}),(0,j.jsx)(`span`,{children:`Stack and swap adapters without retraining the base model`})]}),(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[(0,j.jsx)(f,{className:`mt-0.5 h-4 w-4 flex-none text-primary`}),(0,j.jsx)(`span`,{children:`Ideal for task specific adaptation and rapid experimentation`})]})]})]}),(0,j.jsxs)(`div`,{className:`rounded-2xl border border-border bg-card p-5 shadow-xs`,children:[(0,j.jsx)(`div`,{className:`text-sm font-semibold text-foreground`,children:`Full Fine Tuning`}),(0,j.jsx)(`div`,{className:`mt-1 text-sm text-primary`,children:`Maximum control. Deep adaptation.`}),(0,j.jsxs)(`div`,{className:`mt-3 space-y-2 text-sm text-muted-foreground`,children:[(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[(0,j.jsx)(f,{className:`mt-0.5 h-4 w-4 flex-none text-primary`}),(0,j.jsx)(`span`,{children:`Update all model weights for maximum domain alignment`})]}),(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[(0,j.jsx)(f,{className:`mt-0.5 h-4 w-4 flex-none text-primary`}),(0,j.jsx)(`span`,{children:`Multi GPU parallelized execution with stable synchronization`})]}),(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[(0,j.jsx)(f,{className:`mt-0.5 h-4 w-4 flex-none text-primary`}),(0,j.jsx)(`span`,{children:`Managed checkpoints with automatic versioning and rollback`})]}),(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[(0,j.jsx)(f,{className:`mt-0.5 h-4 w-4 flex-none text-primary`}),(0,j.jsx)(`span`,{children:`Best for foundational shifts in model behavior and knowledge`})]})]})]})]})]})]})}function F(){let e=(0,k.useMemo)(()=>[{title:`Fine-Tune and Deploy an LLM with LlamaFactory`,meta:`Fine-tune and deploy any LLM with LlamaFactory on FlexAI: managed checkpoints, train and serve in one platform`,pills:[`llama-factory`,`sft`,`deploy`],href:`https://docs.flex.ai/blueprints/llama-factory`},{title:`Fine-Tune LLMs with Axolotl on Domain-Specific Data`,meta:`Fine-tune language models on your own data with Axolotl, then deploy as a production inference endpoint`,pills:[`axolotl`,`fsdp`,`deploy`],href:`https://docs.flex.ai/blueprints/axolotl`},{title:`Reinforcement Learning Fine-Tuning with EasyR1`,meta:`Fine-tune language models with reinforcement learning using GRPO and DAPO algorithms for enhanced reasoning`,pills:[`reinfor
1cement-learning`,`grpo`,`reasoning`],href:`https://docs.flex.ai/blueprints/easyR1`},{title:`Fine-Tune Llama 3.1 with QLoRA`,meta:`Fine-tune Llama 3.1 using QLoRA 4-bit quantization to cut memory requirements by 75% on FlexAI`,pills:[`qlora`,`4-bit`,`llama`],href:`https://docs.flex.ai/blueprints/qlora-ft-on-a-language-model`},{title:`Fine-Tune YOLO11 for Object Detection`,meta:`Fine-tune and deploy YOLO11 for object detection, segmentation, and pose estimation with Ultralytics`,pills:[`yolo`,`ultralytics`,`vision`],href:`https://docs.flex.ai/blueprints/ultralytics`}],[]);return(0,j.jsxs)(`div`,{className:`min-h-screen bg-background noise-overlay`,children:[(0,j.jsx)(c,{title:`AI Model Fine-Tuning: QLoRA, PEFT, Full Fine-Tune | FlexAI`,description:`Fine-tune LLMs and vision models with zero infrastructure setup. Support for QLoRA, PEFT, and full fine-tuning on NVIDIA and AMD GPUs.`,canonical:`/fine-tuning`,jsonLd:C({name:`FlexAI Fine-Tuning`,description:`Fine-tune AI models with zero infrastructure setup.`,path:`/fine-tuning`,isPaid:!0})}),(0,j.jsx)(i,{}),(0,j.jsxs)(`main`,{id:`main`,className:`pt-24`,children:[(0,j.jsxs)(`section`,{className:`relative py-16 md:py-24 overflow-hidden`,children:[(0,j.jsx)(w,{}),(0,j.jsx)(`div`,{className:`container mx-auto px-6 relative z-10`,children:(0,j.jsxs)(a.div,{initial:{y:20},animate:{y:0},transition:{duration:.5},className:`max-w-3xl`,children:[(0,j.jsxs)(`h1`,{className:`mt-6 font-display text-5xl md:text-6xl font-bold tracking-tight`,children:[(0,j.jsx)(`span`,{className:`block`,children:`Fine-tune a model `}),(0,j.jsx)(`span`,{className:`block text-gradient glow-text`,children:`native to your product`})]}),(0,j.jsx)(`p`,{className:`mt-4 text-lg text-muted-foreground max-w-xl`,children:`FlexAI keeps the workflow predictable so you can focus on results, not infrastru
1cture.`}),(0,j.jsxs)(`p`,{className:`mt-3 text-sm text-muted-foreground max-w-xl`,children:[`Improve your agent's domain behavior, tool-use reliability, and response style with fine-tunes that deploy back to the same inference path. Serve them on `,(0,j.jsx)(n,{to:`/dedicated-endpoints`,className:`text-primary hover:underline`,children:`dedicated endpoints`}),` `,`or `,(0,j.jsx)(n,{to:`/token-factory`,className:`text-primary hover:underline`,children:`Token Factory`}),` on the same key.`]}),(0,j.jsxs)(`div`,{className:`mt-6 flex flex-wrap items-center gap-3`,children:[(0,j.jsx)(o,{variant:`hero`,asChild:!0,children:(0,j.jsx)(`a`,{href:v,children:`Get started`})}),(0,j.jsx)(o,{variant:`outline`,asChild:!0,children:(0,j.jsx)(n,{to:`/docs`,children:`Read quickstart`})}),(0,j.jsx)(o,{variant:`outline`,asChild:!0,children:(0,j.jsx)(n,{to:`/contact`,children:`Talk to us`})})]})]})})]}),(0,j.jsxs)(S,{width:`wide`,children:[(0,j.jsx)(y,{title:`Results in production`,desc:`What teams achieve fine-tuning on FlexAI.`}),(0,j.jsx)(T,{items:[{icon:p,value:`75%`,label:`Lower compute cost`,desc:`LegML's fine-tune beat a flagship at a fraction of the cost.`,href:`/case-studies/legml`,customer:`LegML`},{icon:m,value:`€22.5K`,label:`Total training cost`,desc:`To fine-tune a 32B legal LLM end to end on FlexAI H100.`,href:`/case-studies/legml`,customer:`LegML`},{icon:_,value:`<24h`,label:`To first production inference deploy`,desc:`Pixelcut went from first API call to production inference.`,href:`/case-studies/pixelcut`,customer:`Pixelcut`}]})]}),(0,j.jsx)(`section`,{className:`py-16`,children:(0,j.jsx)(`div`,{className:`container mx-auto px-6`,children:(0,j.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-[5fr_7fr] gap-8 items-center`,children:[(0,j.jsx)(`div`,{className:`space-y-4`,children:[{num:`01`,label:`Bring your data`,desc:`Connect your datasets from cloud storage or upload directly.`},{num:`02`,label:`Pick a checkpoint`,desc:`Start from a foundation model or continue from a previous run.`},{num:`03`,label:`Run a job you can trust`,desc:`Managed execution with retries, checkpoints, and monitoring built in.`},{num:`04`,label:`Ship a model that meets your customer needs`,desc:`Deploy directly or export for evaluation and iteration.`}].map((e,t)=>(0,j.jsxs)(a.div,{initial:{opacity:0,x:-16},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.4,delay:t*.08}
1,className:`group relative flex items-start gap-4 rounded-2xl border border-border bg-card p-5 hover:border-primary/30 transition-all`,children:[(0,j.jsx)(`div`,{className:`inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-primary/20 bg-primary/10 text-xs font-bold text-primary font-mono`,children:e.num}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`div`,{className:`text-sm font-semibold text-foreground font-display`,children:e.label}),(0,j.jsx)(`div`,{className:`mt-1 text-sm text-muted-foreground leading-relaxed`,children:e.desc})]})]},e.num))}),(0,j.jsx)(a.div,{initial:{opacity:0,x:20},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.5},className:`rounded-2xl border border-border bg-card/50 p-2 shadow-2xl backdrop-blur-xs overflow-hidden`,children:(0,j.jsx)(`img`,{src:A,alt:`FlexAI Fine Tuning Console`,width:1920,height:1080,className:`w-full rounded-xl`,loading:`lazy`,decoding:`async`})})]})})}),(0,j.jsx)(`section`,{className:`relative py-16 border-t border-border`,children:(0,j.jsxs)(`div`,{className:`container mx-auto px-6`,children:[(0,j.jsx)(x,{className:`mb-4`,children:`Fine Tuning Execution`}),(0,j.jsx)(P,{})]})}),(0,j.jsx)(`section`,{className:`py-16 border-t border-border`,children:(0,j.jsx)(`div`,{className:`container mx-auto px-6`,children:(0,j.jsxs)(a.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:`max-w-3xl`,children:[(0,j.jsxs)(`h2`,{className:`font-display text-3xl md:text-4xl font-bold`,children:[`Domain specific fine tuning `,(0,j.jsx)(`span`,{className:`text-gradient`,children:`at scale`})]}),(0,j.jsx)(`p`,{className:`mt-4 text-muted-foreground`,children:`Customize models for real world domains using optimized fine tuning workflows designed for accuracy, stability, and repeatability across long running jobs.`}),(0,j.jsx)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:`Fine tune with confidence across multimodal models (audio, text, vision, image) without infrastructure management.`}),(0,j.jsxs)(`p`,{className:`mt-6 text-sm text-muted-foreground`,children:[`See it in practice:`,` `,(0,j.jsx)(n,{to:`/case-studies/legml`,className:`text-primary hover:text-primary/80 transition-colors`,children:`LegML fine-tuned a 32B legal LLM`}),` `,`that outperformed a frontier model with 50% fewer parameters.`,` `,(0,j.jsx)(n,{to:`/case-studies`,className:`text-primary hover:text-primary/80 transition-colors`,children:`read all the case studies`}),`.`]})]})})}),(0,j.jsxs)(`section`,{className:`relative py-16 border-t border-border overflow-hidden`,children:[(0,j.jsx)(`div`,{className:`absolute top-20 left-1/4 w-[600px] h-[400px] bg-primary/20 rounded-full blur-[150px] pointer-events-none`}),(0,j.jsx)(`div`,{className:`absolute bottom-20 right-1/4 w-[500px] h-[300px] bg-secondary/15 rounded-full blur-[120px] pointer-events-none`}),(0,j.jsxs)(`div`,{className:`container mx-auto px-6 relative z-10`,children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-end justify-between gap-6`,children:[(0,j.jsx)(`div`,{children:(0,j.jsxs)(`h2`,{className:`font-display text-3xl md:text-4xl font-bold`,children:[`Production ready `,(0,j.jsx)(`span`,{className:`text-gradient`,children:`blueprints`})]})}),(0,j.jsx)(o,{variant:`outline`,className:`border-primary/30 text-primary hover:bg-primary/10`,asChild:!0,children:(0,j.jsxs)(n,{to:`/blueprints`,className:`gap-2`,children:[`View all`,(0,j.jsx)(`span`,{className:`inline-flex h-6 w-6 items-center justify-center rounded-full border border-primary/30 bg-primary/10`,children:`→`})]})})]}),(0,j.jsx)(`div`,{className:`mt-6 grid gap-0 md:grid-cols-2 md:gap-x-12`,children:e.map(e=>(0,j.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`group flex items-center justify-between gap-3 border-b border-border/50 py-2.5 hover:bg-secondary/20 px-2 -mx-2 rounded transition-colors`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,j.jsx)(`span`,{className:`text-xs font-medium text-foreground truncate`,children:e.title}),(0,j.jsx)(`span`,{className:`rounded border border-border bg-secondary/30 px-1.5 py-0.5 text-[9px] text-muted-foreground shrink-0`,children:e.pills[0]})]}),(0,j.jsx)(`span`,{className:`text-[10px] text-muted-foreground group-hover:text-foreground transition-colors shrink-0`,children:`→`})]},e.title))})]})]}),(0,j.jsx)(`section`,{className:`py-16`,children:(0,j.jsx)(`div`,{className:`container mx-auto px-6`,children:(0,j.jsx)(b,{variant:`panel`,className:`relative overflow-hidden`,asChild:!0,children:(0,j.jsxs)(a.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},children:[(0,j.jsx)(M,{className:`w-[700px] h-[300px] bg-primary/10 top-[40%] left-[18%]`}),(0,j.jsx)(M,{className:`w-[700px] h-[300px] bg-secondary/18 top-[10%] right-[18%]`}),(0,j.jsxs)(`div`,{className:`relative z-10 flex flex-col md:flex-row md:items-center md:justify-between gap-6`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`h3`,{className:`font-display text-2xl md:text-3xl font-bold`,children:`Start with one run you would proudly repeat`}),(0,j.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground max-w-lg`,children:`If you can describe the outcome, you are ready. Fine tune on FlexAI and keep your velocity.`})]}),(0,j.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,j.jsx)(o,{variant:`outline`,asChild:!0,children:(0,j.jsx)(n,{to:`/docs`,children:`Read docs`})}),(0,j.jsx)(o,{variant:`hero`,asChild:!0,children:(0,j.jsx)(`a`,{href:v,children:`Get started`})})]})]})]})})})}),(0,j.jsx)(d,{testimonials:[u],eyebrow:`Proof`,heading:`Fine-tuned and deployed on FlexAI`}),(0,j.jsx)(S,{width:`wide`,children:(0,j.jsx)(E,{title:`What you can fine-tune on`,desc:`The same supported matrix as the rest of the platform: pick the framework your recipe already uses and the accelerator it should land on.`})}),(0,j.jsx)(S,{pad:`compact`,innerClassName:`text-center`,children:(0,j.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`More managed AI services: `,(0,j.jsx)(n,{to:`/inference`,className:`text-primary hover:underline`,children:`inference`}),`, `,(0,j.jsx)(n,{to:`/training`,className:`text-primary hover:underline`,children:`training`}),`, and the `,(0,j.jsx)(n,{to:`/platform`,className:`text-primary hover:underline`,children:`platform overview`}),`.`]})})]}),(0,j.jsx)(s,{})]})}
1export{F as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.