zerofata/MS3.2-PaintedFantasy-v4-24B
<style> .container { --primary-accent: #6BC5FF; --secondary-accent: #8FD4FF; --tertiary-accent: #4AB8FF; --warm-accent: #B4E3FF; --rose-accent: #9BD9FF; --glow-primary: rgba(107, 197, 255, 0.6); --glow-secondary: rgba(143, 212, 255, 0.7);
--bg-main: #0A1220; --bg-container: #0F1828; --bg-card: rgba(15, 24, 40, 0.95); --bg-elevated: #1A2840;
--text-main: #E5F3FF; --text-muted: #B4E3FF; --text-bright: #FFFFFF; --white: #FFFFFF; --border-color: #1E3A5A; --border-warm: #8FD4FF;
--font-title: 'Inter', sans-serif; --font-body: 'Source Sans Pro', sans-serif; --font-code: 'JetBrains Mono', monospace;
font-family: var(--font-body); color: var(--text-main); line-height: 1.6; font-weight: 400;
max-width: 1100px; margin: 20px auto; padding: 60px; background: #0A1220; min-height: calc(100vh - 40px); position: relative;
border: 2px solid transparent; background-clip: padding-box; }
.container::before { content: ''; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; background: linear-gradient(135deg, #6BC5FF 0%, #8FD4FF 25%, #6BC5FF 50%, #8FD4FF 75%, #6BC5FF 100% ); z-index: -1; opacity: 0.6; pointer-events: none; }
.container .title-container { background: var(--bg-card); margin-bottom: 50px; border: 2px solid rgba(143, 212, 255, 0.35); padding: 50px 50px 45px; text-align: center; position: relative; box-shadow: 0 0 0 1px rgba(107, 197, 255, 0.15), 0 0 50px var(--glow-primary), inset 0 0 0 1px rgba(143, 212, 255, 0.15); overflow: visible; }
.container .title-container::before { content: ''; position: absolute; top: -1px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--primary-accent) 30%, var(--primary-accent) 70%, transparent); box-shadow: 0 0 15px rgba(107, 197, 255, 0.5); }
.container .title-container::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--secondary-accent) 30%, var(--secondary-accent) 70%, transparent); box-shadow: 0 0 15px rgba(143, 212, 255, 0.5); }
.container .ornamental-top { display: none; }
.container .ornamental-bottom { display: none; }
.container .title-container .title-wrapper { position: relative; z-index: 2; }
.container .title-main { color: var(--text-bright); font-size: 3rem; font-weight: 900; margin: 0; letter-spacing: 4px; display: block; text-transform: uppercase; background: linear-gradient(90deg, var(--warm-accent), var(--text-bright), var(--warm-accent)); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-family: var(--font-title); text-shadow: 0 0 40px var(--primary-accent), 0 0 80px rgba(107, 197, 255, 0.6), 0 4px 12px rgba(143, 212, 255, 0.7); position: relative; filter: drop-shadow(0 0 30px rgba(107, 197, 255, 0.7)); }
.container .lemonade-text { background: linear-gradient(135deg, var(--rose-accent), var(--warm-accent)); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.container .version-indicator { color: var(--text-muted); font-size: 0.85rem; font-weight: 600; letter-spacing: 3px; margin-top: 15px; text-transform: uppercase; font-family: var(--font-title); opacity: 0.8; text-shadow: 0 0 15px rgba(107, 197, 255, 0.6); }
.container .title-subtitle { padding: 20px; margin-top: 25px; border: 1px solid var(--border-warm); box-shadow: 0 0 25px rgba(107, 197, 255, 0.4); }
.container .subtitle-text { color: var(--text-muted); font-size: 1.3rem; font-family: var(--font-body); font-style: italic; font-weight: 400; letter-spacing: 3px; text-transform: uppercase; }
.container img { max-width: 100%; border: 4px solid transparent; border-image: linear-gradient(135deg, var(--primary-accent), var(--secondary-accent), var(--primary-accent)) 1; margin-bottom: 40px; box-shadow: 0 0 0 1px rgba(107, 197, 255, 0.3), 0 12px 32px rgba(107, 197, 255, 0.4), 0 0 60px rgba(107, 197, 255, 0.25); }
.container .section-divider { height: 2px; background: linear-gradient(90deg, transparent 0%, rgba(107, 197, 255, 0.3) 20%, var(--primary-accent) 40%, var(--secondary-accent) 50%, var(--primary-accent) 60%, rgba(143, 212, 255, 0.3) 80%, transparent 100% ); margin: 50px 0; position: relative; box-shadow: 0 0 20px rgba(107, 197, 255, 0.4); }
.container .section-divider::before { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 6px; height: 6px; background: var(--primary-accent); border-radius: 50%; box-shadow: 0 0 20px var(--primary-accent); }
.container .section-container { margin-bottom: 40px; padding: 40px; background: var(--bg-card); border: 1px solid rgba(143, 212, 255, 0.35); border-left: 3px solid var(--primary-accent); box-shadow: 0 0 0 1px rgba(107, 197, 255, 0.1), 0 8px 32px rgba(107, 197, 255, 0.35), inset 1px 0 0 0 rgba(107, 197, 255, 0.15), inset 0 1px 0 0 rgba(143, 212, 255, 0.1); position: relative; }
.container .section-container::before { content: ''; position: absolute; top: 0; right: 0; width: 60px; height: 60px; border-top: 1px solid rgba(107, 197, 255, 0.2); border-right: 1px solid rgba(107, 197, 255, 0.2); pointer-events: none; }
.container .section-container::after { content: ''; position: absolute; bottom: 0; left: 0; width: 60px; height: 60px; border-bottom: 1px solid rgba(143, 212, 255, 0.2); border-left: 1px solid rgba(143, 212, 255, 0.2); pointer-events: none; }
.container .section-container:last-of-type { margin-bottom: 0; }
.container .section-header { display: flex; align-items: center; padding: 0 0 15px 0; border: none; border-bottom: 2px solid transparent; border-image: linear-gradient(90deg, var(--primary-accent) 0%, rgba(143, 212, 255, 0.3) 50%, transparent 100%) 1; margin-bottom: 30px; background: transparent; position: relative; }
.container .section-header::after { content: ''; position: absolute; bottom: -15px; left: 0; right: 0; height: 1px; box-shadow: 0 0 15px rgba(107, 197, 255, 0.4); }
.container .section-indicator { width: 4px; height: 40px; background: linear-gradient(180deg, var(--primary-accent), var(--secondary-accent)); margin-right: 20px; box-shadow: 0 0 20px var(--primary-accent); border-radius: 2px; }
.container .section-title { font-family: var(--font-title); background: linear-gradient(90deg, var(--warm-accent), var(--text-bright)); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-size: 1.8rem; margin: 0 !important; padding: 0 !important; letter-spacing: 4px; font-weight: 800; text-transform: uppercase; border: none !important; display: inline-block; text-shadow: 0 0 30px var(--primary-accent); filter: drop-shadow(0 0 25px rgba(107, 197, 255, 0.6)); }
.container .section-content { padding: 0; }
.container .subheading { color: var(--text-bright); font-size: 1.4rem; margin-top: 30px; margin-bottom: 20px; font-weight: 700; display: flex; align-items: center; text-transform: uppercase; letter-spacing: 3px; font-family: var(--font-title); border-bottom: 1px solid rgba(143, 212, 255, 0.4); padding-bottom: 12px; text-shadow: 0 0 20px var(--primary-accent); position: relative; }
.container .subheading::before { content: ''; width: 4px; height: 24px; background: var(--primary-accent); margin-right: 12px; clip-path: polygon(0 0, 100% 15%, 100% 85%, 0 100%); }
.container .subheading::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 80px; height: 2px; background: linear-gradient(90deg, var(--primary-accent), transparent); box-shadow: 0 0 15px var(--primary-accent); }
.container .data-box { background: rgba(26, 40, 64, 0.8); padding: 25px 25px 25px 30px; border-top: 1px solid rgba(143, 212, 255, 0.25); border-right: 1px solid rgba(143, 212, 255, 0.25); border-bottom: 1px solid rgba(143, 212, 255, 0.25); border-left: 5px solid var(--primary-accent); margin-bottom: 25px; box-shadow: 0 0 30px rgba(107, 197, 255, 0.3), inset 1px 0 0 0 rgba(107, 197, 255, 0.2), inset 0 1px 0 0 rgba(143, 212, 255, 0.15); font-size: 1rem; position: relative; }
.container .data-box::before { content: ''; position: absolute; left: -5px; top: 30%; bottom: 30%; width: 5px; background: repeating-linear-gradient( 0deg, var(--primary-accent) 0px, var(--primary-accent) 3px, transparent 3px, transparent 6px ); }
.container .data-row { display: flex; align-items: center; margin-bottom: 12px; padding: 10px 0; border-bottom: 1px solid rgba(143, 212, 255, 0.15); }
.container .data-row:last-child { margin-bottom: 0; border-bottom: none; }
.container .data-arrow { color: var(--warm-accent); font-weight: bold; margin-right: 15px; font-family: var(--font-code); font-size: 1.2rem; text-shadow: 0 0 15px var(--primary-accent); }
.container .data-label { color: var(--text-muted); font-weight: 700; font-family: var(--font-body); margin-right: 15px; min-width: 120px; text-transform: uppercase; letter-spacing: 1px; }
.container a { color: var(--text-bright); text-decoration: none; font-weight: 600; transition: all .2s; }
.container .data-row a { border-bottom: 1px dotted var(--warm-accent); }
.container a:hover { color: var(--warm-accent); text-shadow: 0 0 15px var(--primary-accent); }
.container .data-row a:hover { border-bottom-style: solid; border-bottom-color: var(--primary-accent); }
.container .dropdown-container { margin-top: 30px; }
.container .dropdown-summary { cursor: pointer; padding: 15px 20px 15px 25px; color: var(--text-muted); font-size: 1.2rem; font-weight: 700; text-transform: uppercase; font-family: var(--font-title); letter-spacing: 2px; list-style: none; transition: all 0.2s ease; border: 1px solid rgba(143, 212, 255, 0.4); border-left: 4px solid var(--secondary-accent); background: rgba(30, 58, 90, 0.2); box-shadow: 0 0 25px rgba(107, 197, 255, 0.25), inset 1px 0 0 0 rgba(143, 212, 255, 0.15); position: relative; }
.container .dropdown-summary::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: repeating-linear-gradient( 0deg, var(--secondary-accent) 0px, var(--secondary-accent) 4px, transparent 4px, transparent 8px ); opacity: 0.6; transition: opacity 0.2s ease; }
.container .dropdown-summary:hover { color: var(--warm-accent); background: rgba(30, 58, 90, 0.35); box-shadow: 0 0 35px rgba(107, 197, 255, 0.35), inset 1px 0 0 0 rgba(143, 212, 255, 0.25); }
.container .dropdown-summary:hover::before { opacity: 1; box-shadow: 0 0 20px var(--primary-accent); }
.container .dropdown-summary::-webkit-details-marker { display: none; }
.container .dropdown-arrow { color: var(--warm-accent); margin-right: 15px; transition: transform 0.2s ease; text-shadow: 0 0 15px var(--primary-accent); }
.container details[open] .dropdown-arrow { transform: rotate(90deg); }
.container .dropdown-content { margin-top: 20px; padding: 25px 20px; background: rgba(26, 40, 64, 0.95); border: 1px solid rgba(143, 212, 255, 0.3); border-left: 3px solid var(--secondary-accent); box-shadow: 0 0 30px rgba(107, 197, 255, 0.3), inset 1px 0 0 0 rgba(143, 212, 255, 0.15), inset 0 1px 0 0 rgba(107, 197, 255, 0.1); }
.container .config-title { color: var(--text-bright); font-size: 1.1rem; margin-bottom: 15px; font-family: var(--font-body); text-transform: uppercase; letter-spacing: 2px; font-weight: 700; text-shadow: 0 0 15px var(--primary-accent); display: flex; align-items: center; }
.container .config-title::before { content: ''; width: 3px; height: 18px; background: var(--secondary-accent); margin-right: 10px; clip-path: polygon(0 0, 100% 10%, 100% 90%, 0 100%); }
.container pre { background: #050814; padding: 12px 20px; margin: 0; border: 1px solid rgba(143, 212, 255, 0.25); border-left: 3px solid var(--tertiary-accent); white-space: pre; overflow-x: auto; color: var(--text-main); box-shadow: 0 0 30px rgba(107, 197, 255, 0.25), inset 1px 0 0 0 rgba(74, 184, 255, 0.2); }
.container pre code { background: none; color: inherit; padding: 0; margin: 0; display: block; border: none; outline: none; }
.container code { font-family: var(--font-code); color: var(--warm-accent); background: rgba(143, 212, 255, 0.15); padding: 4px 8px; border: 1px solid rgba(107, 197, 255, 0.35); box-shadow: 0 0 10px rgba(107, 197, 255, 0.2); }
.container .ambient-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.03; background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(107, 197, 255, 0.5) 2px, rgba(107, 197, 255, 0.5) 3px), repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(143, 212, 255, 0.3) 2px, rgba(143, 212, 255, 0.3) 3px); background-size: 80px 80px; pointer-events: none; z-index: 0; }
.container .corner-accent { position: absolute; width: 40px; height: 40px; pointer-events: none; z-index: 1; }
.container .corner-tl { top: 0; left: 0; border-top: 1px solid rgba(107, 197, 255, 0.4); border-left: 1px solid rgba(107, 197, 255, 0.4); }
.container .corner-tl::before { content: ''; position: absolute; top: -2px; left: -2px; width: 4px; height: 4px; background: var(--primary-accent); border-radius: 50%; box-shadow: 0 0 10px rgba(107, 197, 255, 0.6); opacity: 0.8; }
.container .corner-tr { top: 0; right: 0; border-top: 1px solid rgba(143, 212, 255, 0.4); border-right: 1px solid rgba(143, 212, 255, 0.4); }
.container .corner-tr::before { content: ''; position: absolute; top: -2px; right: -2px; width: 4px; height: 4px; background: var(--secondary-accent); border-radius: 50%; box-shadow: 0 0 10px rgba(143, 212, 255, 0.6); opacity: 0.8; }
.container .corner-bl { bottom: 0; left: 0; border-bottom: 1px solid rgba(143, 212, 255, 0.4); border-left: 1px solid rgba(143, 212, 255, 0.4); }
.container .corner-bl::before { content: ''; position: absolute; bottom: -2px; left: -2px; width: 4px; height: 4px; background: var(--secondary-accent); border-radius: 50%; box-shadow: 0 0 10px rgba(143, 212, 255, 0.6); opacity: 0.8; }
.container .corner-br { bottom: 0; right: 0; border-bottom: 1px solid rgba(107, 197, 255, 0.4); border-right: 1px solid rgba(107, 197, 255, 0.4); }
.container .corner-br::before { content: ''; position: absolute; bottom: -2px; right: -2px; width: 4px; height: 4px; background: var(--primary-accent); border-radius: 50%; box-shadow: 0 0 10px rgba(107, 197, 255, 0.6); opacity: 0.8; }
.container .content-frame { position: relative; z-index: 2; }
.container .title-glow-layer { display: none; }
.container .title-accent-left, .container .title-accent-right { display: none; }
.container .image-frame { position: relative; margin-bottom: 40px; }
.container .image-border-accent { position: absolute; top: -8px; left: -8px; right: -8px; bottom: -8px; pointer-events: none; opacity: 0.6; }
.container .image-border-accent::before { content: ''; position: absolute; top: 0; left: 0; width: 30px; height: 30px; border-top: 2px solid var(--primary-accent); border-left: 2px solid var(--primary-accent); }
.container .image-border-accent::after { content: ''; position: absolute; bottom: 0; right: 0; width: 30px; height: 30px; border-bottom: 2px solid var(--secondary-accent); border-right: 2px solid var(--secondary-accent); }
.container .section-frame { position: relative; }
.container .section-glow { position: absolute; top: -1px; right: -1px; width: 40px; height: 40px; border-top: 2px solid var(--primary-accent); border-right: 2px solid var(--primary-accent); pointer-events: none; opacity: 0.6; }
.container .section-glow::before { content: ''; position: absolute; top: -2px; right: -2px; width: 6px; height: 6px; background: var(--primary-accent); box-shadow: 0 0 12px var(--primary-accent); }
.container .content-block { position: relative; }
.container .subsection-wrapper { margin-bottom: 30px; }
.container .subsection-wrapper:last-child { margin-bottom: 0; }
.container .data-box-inner { position: relative; }
.container .data-value { color: var(--text-main); }
.container .divider-ornament { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(45deg); width: 16px; height: 16px; border: 2px solid var(--primary-accent); background: var(--bg-card); box-shadow: 0 0 25px var(--primary-accent); }
.container .divider-ornament::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 6px; height: 6px; background: var(--primary-accent); box-shadow: 0 0 15px var(--primary-accent); }
.container .divider-ornament::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 28px; height: 28px; border: 1px solid rgba(107, 197, 255, 0.3); }
.container .summary-inner { display: flex; align-items: center; }
.container .summary-text { flex: 1; }
.container .dropdown-inner { position: relative; }
.container .code-wrapper { position: relative; margin-top: 15px; }
.container .code-wrapper::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: repeating-linear-gradient( 0deg, var(--tertiary-accent) 0px, var(--tertiary-accent) 5px, transparent 5px, transparent 10px ); }
.container .code-wrapper pre { margin-left: 15px; } </style> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>PaintedFantasy</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Source+Sans+Pro:ital,wght@0,400;0,600;1,400&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"> </head> <body>
<div class="container"> <div class="ambient-overlay"></div> <div class="corner-accent corner-tl"></div> <div class="corner-accent corner-tr"></div> <div class="corner-accent corner-bl"></div> <div class="corner-accent corner-br"></div> <div class="content-frame"> <div class="title-container"> <div class="ornamental-top"></div> <div class="ornamental-bottom"></div> <div class="title-glow-layer"></div> <div class="title-wrapper"> <div class="title-accent-left"></div> <div class="title-accent-right"></div> <h1 class="title-main"> <span class="title-prefix">Painted Fantasy v4</span> </h1> <div class="version-indicator">Magistral Small 2509 24B</div> </div> </div> <div class="image-frame"> <div class="image-border-accent"></div> <img src="https://cdn-uploads.huggingface.co/production/uploads/65b19c6c638328850e12d38c/D3MkKWLMkJDPW39UohRq.png" alt="image"> </div> <div class="section-container"> <div class="section-frame"> <div class="section-glow"></div> <div class="section-header"> <div class="section-indicator"></div> <h2 class="section-title">Overview</h2> </div> <div class="section-content"> <div class="content-block"> <p></p> <p>This is an uncensored model intended to excel at creative character driven RP / ERP.</p> <p>Feels like a good in between of creativity / dialogue and logic. This version tries to improve on the writing style and intelligence compared to v3.</p> <P>A small portion of reasoning data was included, so thinking using the [THINK][/THINK] tags should still work. Although I haven't tested it personally, as the model is generally intended to be used without reasoning.</p> </div> </div> </div> </div> <div class="section-divider"> <div class="divider-ornament"></div> </div> <div class="section-container"> <div class="section-frame"> <div class="section-glow"></div> <div class="section-header"> <div class="section-indicator"></div> <h2 class="section-title">SillyTavern Settings</h2> </div> <div class="section-content"> <div class="subsection-wrapper"> <h3 class="subheading">Recommended Roleplay Format</h3> <div class="data-box"> <div class="data-box-inner"> <div class="data-row"> <span class="data-arrow">></span> <span class="data-label">Actions:</span> <span class="data-value">In plaintext</span> </div> <div class="data-row"> <span class="data-arrow">></span> <span class="data-label">Dialogue:</span> <span class="data-value">"In quotes"</span> </div> <div class="data-row"> <span class="data-arrow">></span> <span class="data-label">Thoughts:</span> <span class="data-value">*In asterisks*</span> </div> </div> </div> </div> <div class="subsection-wrapper"> <h3 class="subheading">Recommended Samplers</h3> <div class="data-box"> <div class="data-box-inner"> <div class="data-row"> <span class="data-arrow">></span> <span class="data-label">Temp:</span> <span class="data-value">0.8</span> </div> <div class="data-row"> <span class="data-arrow">></span> <span class="data-label">MinP:</span> <span class="data-value">0.05 - 0.075</span> </div> <div class="data-row"> <span class="data-arrow">></span> <span class="data-label">TopP:</span> <span class="data-value">0.95 - 1.00</span> </div> </div> </div> </div> <div class="subsection-wrapper"> <h3 class="subheading">Instruct</h3> <div class="data-box"> <p style="margin: 0;">Mistral v7 Tekken</p> </div> </div> </div> </div> </div> <div class="section-divider"> <div class="divider-ornament"></div> </div> <div class="section-container"> <div class="section-frame"> <div class="section-glow"></div> <div class="section-header"> <div class="section-indicator"></div> <h2 class="section-title">Quantizations</h2> </div> <div class="section-content"> <div class="subsection-wrapper"> <h3 class="subheading">GGUF</h3> <div class="data-box"> <div class="data-box-inner"> <div class="data-row"> <span class="data-arrow">></span> <span class="data-value"><a href="https://huggingface.co/bartowski/zerofataMS3.2-PaintedFantasy-v4-24B-GGUF">iMatrix (bartowski)</a></span> </div> </div> </div> </div> <div class="subsection-wrapper"> <h3 class="subheading">EXL3</h3> <div class="data-box"> <div class="data-box-inner"> <div class="data-row"> <span class="data-arrow">></span> <span class="data-value"><a href="https://huggingface.co/zerofata/MS3.2-PaintedFantasy-v4-24b-exl3-3bpw">3bpw</a></span> </div> <div class="data-row"> <span class="data-arrow">></span> <span class="data-value"><a href="https://huggingface.co/zerofata/MS3.2-PaintedFantasy-v4-24b-exl3-4bpw">4bpw</a></span> </div> <div class="data-row"> <span class="data-arrow">></span> <span class="data-value"><a href="https://huggingface.co/zerofata/MS3.2-PaintedFantasy-v4-24b-exl3-5bpw">5bpw</a></span> </div> <div class="data-row"> <span class="data-arrow">></span> <span class="data-value"><a href="https://huggingface.co/zerofata/MS3.2-PaintedFantasy-v4-24b-exl3-6bpw">6bpw</a></span> </div> </div> </div> </div> </div> </div> </div> <div class="section-divider"> <div class="divider-ornament"></div> </div> <div class="section-container"> <div class="section-frame"> <div class="section-glow"></div> <div class="section-header"> <div class="section-indicator"></div> <h2 class="section-title">Creation Process</h2> </div> <div class="section-content"> <div class="content-block"> <p>Creation Process: SFT > DPO</p> <p>SFT on approx 26 million tokens (18.3 million trainable). Datasets included SFW / NSFW RP, stories, NSFW reddit writing prompts, creative instruct & chat data.</p> <p>90% of the dataset is without thinking, 10% included thinking, using the [THINK][/THINK] tags.</p> <p>All RP data and synthetic stories went through rewriting with GLM 4.7 using hand edited examples as guidelines to improve the response. Rewritten responses were discarded if they failed to reduce the slop score for the message. This reduced the slop by about 25% for each RP / story dataset and made the model noticably more creative with some of its descriptions.</p> <p>Additionally, some extra filtering was run over the datasets, finding about a dozen samples containing uncaught refusals, some messy human data and in general just some conversations that were outliers in low quality that had accumulated since I started building my datasets.</p> <P>DPO was expanded to include non creative datasets. My usual RP DPO dataset (also rewritten) was included along with cybersecurity and two partial subsets of general assistant / chat preference datasets to help stabalize the model. This worked pretty well. While creativity did take a small hit, enough remained that the improved logic resulted in a notably improved model (IMO).</p> </div> <div class="dropdown-container"> <details> <summary class="dropdown-summary"> <div class="summary-inner"> <span class="dropdown-arrow">></span> <span class="summary-text">Axolotl configs</span> </div> </summary> <div class="dropdown-content"> <div class="dropdown-inner"> <p>Not optimized for cost / performance efficiency, YMMV.</p> <div class="config-title">SFT (4*H200)</div> <div class="code-wrapper"> <pre><code>base_model: Darkhn/Magistral-2509-24B-Text-Only
tokenizerusemistral_common: true
plugins: - axolotl.integrations.cutcrossentropy.CutCrossEntropyPlugin
loadin8bit: false loadin4bit: false deepspeed: deepspeed_configs/zero1.json
datasets: - path: ./data/nothinkdataset.jsonl type: chattemplate - path: ./data/thinkdataset.jsonl type: chattemplate datasetpreparedpath: lastrunprepared2 valsetsize: 0.01 output_dir: ./Magi-24B-SFT-v3-10
adapter: lora peftuserslora: true loramodeldir:
sequencelen: 10496 samplepacking: true padtosequence_len: true
lorar: 256 loraalpha: 16 loradropout: 0.05 loratarget_linear: true
wandbproject: Magi-SFT-24B wandbname: Magi-24B-SFT-v3-10
gradientaccumulationsteps: 1 microbatchsize: 4 numepochs: 2 optimizer: adamwbnb8bit lrscheduler: cosine
learningrate: 1.5e-5 weightdecay: 0.01 maxgradnorm: 2.0
bf16: auto tf32: false
gradientcheckpointing: true resumefromcheckpoint: loggingsteps: 1 flash_attention: true
warmupratio: 0.05 evalsperepoch: 3 savesperepoch: 2</code></pre> </div> <br><div class="config-title">DPO (4*H200)</div> <div class="code-wrapper"> <pre><code># ==================== # MODEL CONFIGURATION # ==================== basemodel: ApocalypseParty/Magi-24B-SFT-v3-10 modeltype: MistralForCausalLM tokenizertype: AutoTokenizer chattemplate: mistralv7_tekken
# ==================== # RL/DPO CONFIGURATION # ==================== rl: dpo rl_beta: 0.07
# ==================== # DATASET CONFIGURATION # ==================== datasets: - path: ./data/dpoms32rewrittenhandcrafteddataset.jsonl type: chattemplate.default fieldmessages: messages fieldchosen: chosen fieldrejected: rejected messagepropertymappings: role: role content: content roles: system: ["system"] user: ["user"] assistant: ["assistant"] - path: ./data/dpochubapprovedrewrittendatasetpartial.jsonl type: chattemplate.default fieldmessages: messages fieldchosen: chosen fieldrejected: rejected messagepropertymappings: role: role content: content roles: system: ["system"] user: ["user"] assistant: ["assistant"] - path: ./data/dposecureprogrammingdataset.jsonl type: chattemplate.default fieldmessages: messages fieldchosen: chosen fieldrejected: rejected messagepropertymappings: role: role content: content roles: system: ["system"] user: ["user"] assistant: ["assistant"] - path: ./data/dpowildchatms32chunk1.jsonl type: chattemplate.default fieldmessages: messages fieldchosen: chosen fieldrejected: rejected messagepropertymappings: role: role content: content roles: system: ["system"] user: ["user"] assistant: ["assistant"] - path: ./data/dpoultrafeedbackchunk1.jsonl type: chattemplate.default fieldmessages: messages fieldchosen: chosen fieldrejected: rejected messageproperty_mappings: role: role content: content roles: system: ["system"] user: ["user"] assistant: ["assistant"]
datasetpreparedpath: ./dpodata4 trainon_inputs: false # Only train on assistant responses
# ==================== # QLORA CONFIGURATION # ==================== adapter: lora loadin8bit: false lorar: 128 loraalpha: 16 peftuserslora: true loradropout: 0.1 loratargetlinear: true # loramodulestosave: # Uncomment only if you added NEW tokens
# ==================== # TRAINING PARAMETERS # ==================== numepochs: 1 microbatchsize: 2 gradientaccumulationsteps: 4 learningrate: 2e-6 optimizer: adamwtorchfused lrscheduler: cosine warmupratio: 0.05 weightdecay: 0.01 maxgrad_norm: 1.0
# ==================== # SEQUENCE CONFIGURATION # ==================== sequencelen: 10756 padtosequencelen: true
# ==================== # HARDWARE OPTIMIZATIONS # ==================== bf16: auto tf32: false flashattention: true gradientcheckpointing: offload
plugins: - axolotl.integrations.liger.LigerPlugin - axolotl.integrations.cutcrossentropy.CutCrossEntropyPlugin cutcrossentropy: true ligerrope: true ligerrmsnorm: true ligerlayernorm: true ligergluactivation: true ligercrossentropy: false # Cut Cross Entropy overrides this ligerfusedlinearcrossentropy: false # Cut Cross Entropy overrides this deepspeed: deepspeedconfigs/zero1.json
# ==================== # CHECKPOINTING # ==================== evalsperepoch: 1 savesperepoch: 6 loadbestmodelatend: true metricforbestmodel: evalloss greaterisbetter: false
# ==================== # LOGGING & OUTPUT # ==================== outputdir: ./Magi-24B-SFT-v3-10-DPO-9 loggingsteps: 1 save_safetensors: true
# ==================== # WANDB TRACKING # ==================== wandbproject: Magi-24B-DPO wandbname: Magi-24B-SFT-v3-10-DPO-9</code></pre> </div> </div> </div> </details> </div> </div> </div> </div> </div> </div> </body> </html>
