Direct preference optimization makes the preferred response of each pair more likely than the rejected one. It fits when reviewers can pick the better of two outputs but cannot easily write the best one.
DPO trains on a dataset added with --kind preference. Each row of support-prefs holds a ticket, a preferred reply, and a rejected reply:
{"prompt": "How do I reset my password? The reset link never arrives.", "chosen": "Sorry about that. The link goes to the email on your account, so check your spam folder first. Then request a new link. It expires in 1 hour.", "rejected": "Password reset emails are sent to the registered address. Verify the spam folder. Request a new link if necessary. Links expire after 1 hour."}
monte dataset add support-prefs --from-file reviews.jsonl --kind preference
Both replies are correct, and the pair teaches the tone. A reviewer’s edit of a model reply also gives a pair: the edit is chosen, and the model reply is rejected.
How far the model can move from the reference. A lower value allows a larger change.
batch_size
Pairs in one step
learning_rate
The peak learning rate
max_seq_length
The prompt plus the longer response, in tokens
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Monte Platform","colors":{"primary":"#315594","light":"#70A6C1","dark":"#2F3675"},"logo":{"light":"https://mintcdn.com/monte-inc/gDE0uEcoDx7_moLr/logo/light.png?fit=max\u0026auto=format\u0026n=gDE0uEcoDx7_moLr\u0026q=85\u0026s=fe282530810a529d346a3d34b18dfa1e","dark":"https://mintcdn.com/monte-inc/gDE0uEcoDx7_moLr/logo/dark.png?fit=max\u0026auto=format\u0026n=gDE0uEcoDx7_moLr\u0026q=85\u0026s=e6807ec55b887d13310c530d0c73cf5e"},"favicon":"https://mintcdn.com/monte-inc/gDE0uEcoDx7_moLr/favicon.png?fit=max\u0026auto=format\u0026n=gDE0uEcoDx7_moLr\u0026q=85\u0026s=1d58f7325198c466585e820513d03b27","contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"monte-inc","hasAudioNarration":false,"actualSubdomain":"monte-inc","customDomains":["docs.trymonte.ai"],"gitSource":{"type":"github","owner":"monte-inc","repo":"monte-platform-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae506bdefaa129e5fed20c2","collectionId":"cf4218b7-47f4-42be-bf41-dd92eb3604b0","liveDeploymentHistoryId":"6ae506bdefaa129e5fed20c2","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae506bdefaa129e5fed20c2","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Platform","count":28},{"language":"default","tag":"CLI","count":8},{"language":"default","tag":"Commands","count":7},{"language":"default","tag":"Training","count":7},{"language":"default","tag":"Get Started","count":4},{"language":"default","tag":"Inference","count":4},{"language":"default","tag":"Environments","count":4},{"language":"default","tag":"Methods","count":4},{"language":"default","tag":"Datasets","count":3},{"language":"default","tag":"Evaluation","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".mermaid,[class*=mermaid]{text-align:center}.mermaid>svg,[class*=mermaid]>svg{display:block;margin-inline:auto}.mermaid .cluster text,.mermaid .cluster-label p,.mermaid .cluster-label span,.mermaid .cluster-label text{fill:#17181b;color:#17181b}.dark .mermaid .cluster text,.dark .mermaid .cluster-label p,.dark .mermaid .cluster-label span,.dark .mermaid .cluster-label text{fill:#f0f1f2;color:#f0f1f2}"}],"page":{"pagePath":"training/dpo","slug":"/training/dpo","pageMetadata":{"title":"DPO","description":"Train on preferred and rejected responses","href":"/training/dpo"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Train on preferred and rejected responses\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Direct preference optimization makes the preferred response of each pair more likely than the rejected one. It fits when reviewers can pick the better of two outputs but cannot easily write the best one.`}),`\n`,_jsx(Heading,{level:`2`,id:`prepare-the-data`,children:`Prepare the Data`}),`\n`,_jsxs(_components.p,{children:[`DPO trains on a `,_jsx(_components.a,{href:`/datasets/overview`,children:`dataset`}),` added with `,_jsx(_components.code,{children:`--kind preference`}),`. Each row of `,_jsx(_components.code,{children:`support-prefs`}),` holds a ticket, a preferred reply, and a rejected reply:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"prompt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"How do I reset my password? The reset link never arrives.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"chosen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Sorry about that. The link goes to the email on your account, so check your spam folder first. Then request a new link. It expires in 1 hour.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"rejected\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Password reset emails are sent to the registered address. Verify the spam folder. Request a new link if necessary. Links expire after 1 hour.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`monte`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dataset`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` add`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` support-prefs`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --from-file`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` reviews.jsonl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --kind`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` preference`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Both replies are correct, and the pair teaches the tone. A reviewer’s edit of a model reply also gives a pair: the edit is `,_jsx(_components.code,{children:`chosen`}),`, and the model reply is `,_jsx(_components.code,{children:`rejected`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`start-a-run`,children:`Start a Run`}),`\n`,_jsxs(_components.p,{children:[`DPO usually starts from an `,_jsx(_components.a,{href:`/training/sft`,children:`SFT`}),` checkpoint. That checkpoint is the reference model.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`monte`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` train`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` support-triage`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --config`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` triage-dpo`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` support-prefs`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --steps`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 100`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --parent`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` train-07/200`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`parameters`,children:`Parameters`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`dpo.beta`})}),_jsx(_components.td,{children:`How far the model can move from the reference. A lower value allows a larger change.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batch_size`})}),_jsx(_components.td,{children:`Pairs in one step`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`learning_rate`})}),_jsx(_components.td,{children:`The peak learning rate`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`max_seq_length`})}),_jsx(_components.td,{children:`The prompt plus the longer response, in tokens`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"DPO","description":"Train on preferred and rejected responses","href":"/training/dpo"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prepare the Data","slug":"prepare-the-data","depth":2,"children":[]},{"title":"Start a Run","slug":"start-a-run","depth":2,"children":[]},{"title":"Parameters","slug":"parameters","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"monte-inc","siteName":"Monte Platform","title":"DPO - Monte Platform","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T21:06:09.276Z","originalFileLocation":"training/dpo.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Train on preferred and rejected responses\">\u003cmeta data-mint-head name=\"application-name\" content=\"Monte Platform\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/monte-inc/P2VsY79V6xu55Vfe/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/monte-inc/P2VsY79V6xu55Vfe/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/monte-inc/P2VsY79V6xu55Vfe/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/monte-inc/P2VsY79V6xu55Vfe/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/monte-inc/P2VsY79V6xu55Vfe/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/monte-inc/P2VsY79V6xu55Vfe/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/monte-inc/P2VsY79V6xu55Vfe/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/monte-inc/P2VsY79V6xu55Vfe/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/monte-inc/P2VsY79V6xu55Vfe/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"DPO - Monte Platform\">\u003cmeta data-mint-head property=\"og:description\" content=\"Train on preferred and rejected responses\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Monte Platform\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trymonte.ai/training/dpo\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://monte-inc.mintlify.app/_mintlify/api/og/v2?division=Methods\u0026amp;title=DPO\u0026amp;description=Train+on+preferred+and+rejected+responses\u0026amp;theme=73df20490d3a6aec36f9f19b\u0026amp;signature=5c6dbd781a5ccc5f42f5b8385699b59469674287ba14b2e3e916a0acb403352d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"DPO - Monte Platform\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Train on preferred and rejected responses\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://monte-inc.mintlify.app/_mintlify/api/og/v2?division=Methods\u0026amp;title=DPO\u0026amp;description=Train+on+preferred+and+rejected+responses\u0026amp;theme=73df20490d3a6aec36f9f19b\u0026amp;signature=5c6dbd781a5ccc5f42f5b8385699b59469674287ba14b2e3e916a0acb403352d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/monte-inc/P2VsY79V6xu55Vfe/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Monte Platform\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#315594\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.trymonte.ai/training/dpo\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/training/dpo.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.trymonte.ai/#organization\",\"name\":\"Monte Platform\",\"url\":\"https://docs.trymonte.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/monte-inc/gDE0uEcoDx7_moLr/logo/light.png?fit=max\u0026auto=format\u0026n=gDE0uEcoDx7_moLr\u0026q=85\u0026s=fe282530810a529d346a3d34b18dfa1e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.trymonte.ai#website\",\"name\":\"Monte Platform\",\"url\":\"https://docs.trymonte.ai\",\"publisher\":{\"@id\":\"https://docs.trymonte.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.trymonte.ai/training/dpo#webpage\",\"url\":\"https://docs.trymonte.ai/training/dpo\",\"name\":\"DPO\",\"description\":\"Train on preferred and rejected responses\",\"dateModified\":\"2026-10-30T21:06:09.276Z\",\"isPartOf\":{\"@id\":\"https://docs.trymonte.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trymonte.ai/training/dpo#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trymonte.ai/training/dpo#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Training\",\"item\":\"https://docs.trymonte.ai/training/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Methods\",\"item\":\"https://docs.trymonte.ai/training/sft\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"DPO\",\"item\":\"https://docs.trymonte.ai/training/dpo\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.trymonte.ai/training/dpo#article\",\"headline\":\"DPO\",\"name\":\"DPO\",\"description\":\"Train on preferred and rejected responses\",\"url\":\"https://docs.trymonte.ai/training/dpo\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trymonte.ai/training/dpo#webpage\"},\"dateModified\":\"2026-10-30T21:06:09.276Z\",\"publisher\":{\"@id\":\"https://docs.trymonte.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.trymonte.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Monte Platform\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Monte Platform","nav":{"global":null,"tabs":[{"tab":"Platform","icon":"layer-group","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":""},{"title":"Quickstart","href":"/quickstart"},{"title":"Platform","href":"/platform"},{"title":"CLI","href":"/cli"}]},{"group":"Training","pages":[{"title":"Overview","href":"/training/overview"},{"group":"Methods","pages":[{"title":"SFT","description":"Train on example conversations","href":"/training/sft"},{"title":"DPO","href":"/training/dpo"},{"title":"GRPO","description":"Train on rewards from a grader","href":"/training/grpo"},{"title":"Distillation","href":"/training/distillation"}]},{"title":"Configs","href":"/training/configs"},{"title":"Models","href":"/training/models"}]},{"group":"Inference","pages":[{"title":"Deployment Options","href":"/deployment"},{"title":"Serving","href":"/serving/deploy"},{"title":"Endpoints","href":"/serving/endpoints"},{"title":"Scaling and Versions","href":"/serving/scaling-versions"}]},{"group":"Datasets","pages":[{"title":"Overview","href":"/datasets/overview"},{"title":"Synthetic Data","href":"/datasets/synthetic-data"},{"title":"Anonymization","href":"/datasets/anonymization"}]},{"group":"Environments","pages":[{"title":"Overview","href":"/environments/overview"},{"title":"Tasks","href":"/environments/tasks"},{"title":"Environment Servers","href":"/environments/servers"},{"title":"Graders","href":"/environments/graders"}]},{"group":"Evaluation","pages":[{"title":"Overview","href":"/evaluation/overview"},{"title":"Experiments","href":"/evaluation/experiments"},{"title":"Scoring Models","href":"/evaluation/scoring-models"}]},{"group":"Observability","pages":[{"title":"Traces","href":"/observability/traces"},{"title":"Metrics","href":"/observability/metrics"}]},{"group":"Security","pages":[{"title":"Security and Privacy","href":"/security"}]}]},{"tab":"CLI","icon":"terminal","pages":[{"title":"CLI","href":"/commands/setup"}]}]},"basePath":"","title":"DPO - Monte Platform","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}