library_name, license, datasets, base_model
library_name
license
datasets
base_model
transformers
apache-2.0
zerofata/Roleplay-Anime-Characters
zerofata/Instruct-Anime-CreativeWriting
zerofata/Summaries-Anime-FandomPages
zerofata/Instruct-Anime
zerofata/Stories-Anime
zerofata/Anime-AMA-Prose
Nitral-AI/Reddit-NSFW-Writing_Prompts_ShareGPT
mistralai/Magistral-Small-2509
<style>
body {
margin: 0;
padding: 0;
background:
radial-gradient(ellipse at 20% 30%, rgba(255, 126, 179, 0.08) 0%, transparent 50%),
radial-gradient(ellipse at 80% 70%, rgba(192, 132, 252, 0.05) 0%, transparent 50%),
radial-gradient(ellipse at 50% 90%, rgba(255, 138, 128, 0.06) 0%, transparent 60%),
#0d1520;
min-height: 100vh;
overflow-x: hidden;
}
.container {
--primary-accent: #ff7eb3;
--secondary-accent: #ffa4d1;
--tertiary-accent: #c084fc;
--coral-bright: #ff8a80;
--twilight-blue: #1a3d5c;
--sakura-mist: rgba(255, 126, 179, 0.12);
--night-sky: #0a1628;
--glow-primary: rgba(255, 126, 179, 0.5);
--glow-secondary: rgba(255, 164, 209, 0.6);
--sunset-glow: rgba(255, 138, 128, 0.5);
--bg-main: #0d1722;
--bg-container: #0f1a26;
--bg-card: rgba(13, 23, 34, 0.95);
--bg-elevated: #14202f;
--text-main: #f5e6ff;
--text-muted: #d4b5e8;
--text-bright: #ffe4f7;
--white: #FFFFFF;
--border-color: #2d1f3a;
--border-accent: #ff7eb3;
--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:
radial-gradient(ellipse at 30% 20%, rgba(255, 126, 179, 0.08) 0%, transparent 40%),
radial-gradient(ellipse at 70% 80%, rgba(192, 132, 252, 0.06) 0%, transparent 45%),
radial-gradient(circle at 50% 50%, var(--deep-water) 0%, var(--bg-main) 100%);
min-height: calc(100vh - 40px);
position: relative;
border-radius: 20px;
border: 2px solid transparent;
background-clip: padding-box;
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.4),
0 0 40px rgba(255, 126, 179, 0.2),
0 20px 60px rgba(10, 13, 16, 0.8),
inset 0 0 120px rgba(255, 126, 179, 0.05),
inset 0 1px 0 rgba(255, 164, 209, 0.15);
}
.container::before {
content: '';
position: absolute;
top: -2px;
left: -2px;
right: -2px;
bottom: -2px;
background: linear-gradient(135deg, var(--primary-accent), var(--secondary-accent), var(--cyan-bright), var(--secondary-accent), var(--primary-accent));
border-radius: 20px;
z-index: -1;
opacity: 0.5;
}
.container::after {
content: '✦';
position: absolute;
top: 80px;
right: 100px;
font-size: 1rem;
color: var(--sunset-glow);
opacity: 0.4;
text-shadow: 0 0 20px rgba(255, 138, 128, 0.8);
pointer-events: none;
}
.container .title-container {
background:
radial-gradient(ellipse at 50% 0%, rgba(255, 126, 179, 0.10) 0%, transparent 50%),
radial-gradient(ellipse at 50% 100%, rgba(192, 132, 252, 0.08) 0%, transparent 50%),
linear-gradient(135deg, var(--bg-elevated), var(--bg-card));
margin-bottom: 50px;
border: none;
padding: 60px 50px;
text-align: center;
position: relative;
border-radius: 30px 30px 8px 8px;
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.5),
0 8px 32px rgba(255, 126, 179, 0.3),
0 16px 48px rgba(10, 13, 16, 0.6),
inset 0 1px 0 rgba(255, 164, 209, 0.3),
inset 0 0 80px rgba(255, 126, 179, 0.08);
overflow: visible;
}
.container .title-container::before {
content: '';
position: absolute;
top: -1px;
left: 20%;
right: 20%;
height: 2px;
background: radial-gradient(ellipse at center, var(--primary-accent) 0%, transparent 70%);
box-shadow:
0 0 20px rgba(255, 126, 179, 0.9),
0 0 40px rgba(255, 164, 209, 0.6);
filter: blur(1px);
}
.container .title-container::after {
content: '✧';
position: absolute;
bottom: 20px;
left: 30px;
font-size: 1.2rem;
color: #ff8a80;
opacity: 0.3;
text-shadow: 0 0 25px rgba(255, 138, 128, 0.8);
transform: rotate(-15deg);
}
.container .title-container .title-wrapper {
position: relative;
z-index: 2;
}
.container .title-container .title-wrapper::before {
content: '〰';
position: absolute;
top: -25px;
left: 50%;
transform: translateX(-50%);
font-size: 2rem;
color: var(--primary-accent);
opacity: 0.4;
letter-spacing: -8px;
text-shadow: 0 0 25px rgba(255, 126, 179, 0.8);
}
.container .title-container .title-wrapper::after {
content: '✦ ✧ ✦';
position: absolute;
bottom: -30px;
left: 50%;
transform: translateX(-50%);
font-size: 0.8rem;
color: var(--primary-accent);
opacity: 0.5;
letter-spacing: 10px;
text-shadow:
0 0 20px rgba(255, 126, 179, 0.8),
15px 0 15px rgba(77, 208, 225, 0.5),
-15px 0 15px rgba(77, 208, 225, 0.5);
}
.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(--primary-accent), var(--text-bright), var(--primary-accent));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-family: var(--font-title);
text-shadow:
0 0 30px var(--primary-accent),
0 0 60px rgba(255, 164, 209, 0.5),
0 4px 8px rgba(255, 126, 179, 0.6);
position: relative;
}
.container .lemonade-text {
background: linear-gradient(135deg, var(--secondary-accent), var(--cyan-bright));
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.7;
}
.container .title-subtitle {
padding: 20px;
margin-top: 25px;
border: none;
border-radius: 8px;
background:
radial-gradient(ellipse at center, rgba(255, 126, 179, 0.1) 0%, transparent 70%);
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.3),
0 0 20px rgba(255, 126, 179, 0.2),
inset 0 0 20px rgba(255, 126, 179, 0.08);
position: relative;
}
.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: none;
margin-bottom: 40px;
border-radius: 16px;
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.5),
0 0 0 8px rgba(15, 30, 53, 0.8),
0 0 0 9px rgba(255, 126, 179, 0.3),
0 16px 48px rgba(255, 126, 179, 0.25),
0 8px 24px rgba(10, 22, 40, 0.6),
inset 0 0 60px rgba(255, 126, 179, 0.1);
position: relative;
filter: drop-shadow(0 0 30px rgba(255, 126, 179, 0.3));
}
.container .section-container {
margin-bottom: 40px;
padding: 45px;
background:
radial-gradient(ellipse at 0% 50%, rgba(255, 126, 179, 0.08) 0%, transparent 50%),
radial-gradient(ellipse at 100% 50%, rgba(192, 132, 252, 0.06) 0%, transparent 50%),
linear-gradient(135deg, var(--bg-card), var(--bg-elevated));
border: none;
border-radius: 8px 24px 8px 24px;
position: relative;
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.3),
0 8px 32px rgba(255, 126, 179, 0.2),
0 12px 40px rgba(10, 22, 40, 0.5),
inset 0 1px 0 rgba(255, 164, 209, 0.2),
inset 0 0 60px rgba(255, 126, 179, 0.08);
}
.container .section-container:last-of-type {
margin-bottom: 0;
}
.container .section-container::before {
content: '✧';
position: absolute;
top: 15px;
right: 25px;
font-size: 1.5rem;
color: var(--cyan-bright);
opacity: 0.15;
text-shadow: 0 0 25px rgba(255, 126, 179, 0.8);
pointer-events: none;
}
.container .section-container::after {
content: '';
position: absolute;
bottom: 0;
left: 10%;
right: 10%;
height: 1px;
background: radial-gradient(ellipse at center, rgba(255, 126, 179, 0.4) 0%, transparent 70%);
box-shadow: 0 0 15px rgba(255, 126, 179, 0.3);
}
.container .section-header {
display: flex;
align-items: center;
padding: 0 0 20px 0;
border: none;
border-bottom: 2px solid transparent;
margin-bottom: 30px;
background: radial-gradient(ellipse at center, rgba(255, 126, 179, 0.06) 0%, transparent 70%);
position: relative;
}
.container .section-header::before {
content: '';
position: absolute;
bottom: -2px;
left: 5%;
right: 5%;
height: 2px;
background: radial-gradient(ellipse at center, var(--primary-accent) 0%, rgba(255, 126, 179, 0.6) 40%, transparent 80%);
box-shadow: 0 0 20px rgba(255, 126, 179, 0.4);
filter: blur(0.5px);
}
.container .section-header::after {
content: '❋';
position: absolute;
bottom: -10px;
left: 50%;
transform: translateX(-50%);
font-size: 1rem;
color: var(--primary-accent);
opacity: 0.5;
text-shadow: 0 0 15px rgba(255, 126, 179, 0.7);
}
.container .section-title {
font-family: var(--font-title);
background: linear-gradient(90deg, var(--primary-accent), var(--text-bright), var(--primary-accent));
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 20px var(--primary-accent);
}
.container .section-content {
padding: 0;
}
.container .subheading {
color: var(--text-bright);
font-size: 1.4rem;
margin-top: 30px;
margin-bottom: 25px;
font-weight: 700;
display: block;
text-transform: uppercase;
letter-spacing: 3px;
font-family: var(--font-title);
border-bottom: none;
padding-bottom: 15px;
text-shadow: 0 0 15px var(--primary-accent);
position: relative;
}
.container .subheading::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent 0%, var(--primary-accent) 30%, var(--primary-accent) 70%, transparent 100%);
box-shadow: 0 0 10px rgba(255, 126, 179, 0.6);
}
.container .data-box {
background:
radial-gradient(ellipse at 0% 0%, rgba(255, 126, 179, 0.1) 0%, transparent 50%),
linear-gradient(135deg, rgba(22, 40, 64, 0.6), rgba(15, 30, 53, 0.8));
padding: 28px;
border: none;
border-left: 3px solid transparent;
border-image: linear-gradient(180deg, transparent, var(--primary-accent), transparent) 1;
margin-bottom: 25px;
border-radius: 4px 12px 4px 12px;
position: relative;
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.2),
0 4px 20px rgba(255, 126, 179, 0.15),
inset 0 1px 0 rgba(255, 164, 209, 0.15),
inset 0 0 30px rgba(255, 126, 179, 0.08);
font-size: 1rem;
}
.container .data-box::before {
content: '·';
position: absolute;
top: 10px;
left: 10px;
font-size: 2rem;
color: var(--cyan-bright);
opacity: 0.2;
line-height: 0;
}
.container .data-row {
display: flex;
align-items: center;
margin-bottom: 12px;
padding: 10px 0;
border-bottom: 1px solid rgba(255, 164, 209, 0.2);
}
.container .data-row:last-child {
margin-bottom: 0;
}
.container .data-arrow {
color: var(--cyan-bright);
font-weight: bold;
margin-right: 15px;
font-family: var(--font-code);
font-size: 1.2rem;
text-shadow: 0 0 10px var(--cyan-bright);
}
.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(--cyan-bright);
}
.container a:hover {
color: var(--cyan-bright);
text-shadow: 0 0 10px var(--cyan-bright);
}
.container .data-row a:hover {
border-bottom-style: solid;
}
.container .dropdown-container {
margin-top: 30px;
}
.container .dropdown-summary {
cursor: pointer;
padding: 18px 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.3s ease;
border: none;
border-radius: 8px;
background:
radial-gradient(circle at 0% 50%, rgba(255, 126, 179, 0.12) 0%, transparent 60%),
linear-gradient(135deg, rgba(43, 79, 118, 0.25), rgba(22, 40, 64, 0.4));
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.3),
0 4px 15px rgba(255, 126, 179, 0.15),
inset 0 1px 0 rgba(255, 164, 209, 0.15);
position: relative;
}
.container .dropdown-summary::before {
content: '✧';
position: absolute;
right: 25px;
top: 50%;
transform: translateY(-50%);
opacity: 0.3;
color: var(--cyan-bright);
text-shadow: 0 0 15px rgba(255, 126, 179, 0.8);
transition: opacity 0.3s ease;
}
.container .dropdown-summary:hover {
color: var(--cyan-bright);
background:
radial-gradient(circle at 0% 50%, rgba(255, 126, 179, 0.2) 0%, transparent 60%),
linear-gradient(135deg, rgba(43, 79, 118, 0.35), rgba(22, 40, 64, 0.5));
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.5),
0 6px 25px rgba(255, 126, 179, 0.3),
inset 0 1px 0 rgba(255, 164, 209, 0.25);
}
.container .dropdown-summary:hover::before {
opacity: 0.6;
}
.container .dropdown-summary::-webkit-details-marker {
display: none;
}
.container .dropdown-arrow {
color: var(--cyan-bright);
margin-right: 15px;
transition: transform 0.2s ease;
text-shadow: 0 0 10px var(--cyan-bright);
}
.container details[open] .dropdown-arrow {
transform: rotate(90deg);
}
.container .dropdown-content {
margin-top: 20px;
padding: 25px 20px;
background:
radial-gradient(ellipse at 100% 0%, rgba(255, 126, 179, 0.08) 0%, transparent 50%),
linear-gradient(135deg, rgba(15, 30, 53, 0.9), rgba(22, 40, 64, 0.8));
border: none;
border-radius: 0 0 8px 8px;
border-top: 2px solid transparent;
border-image: linear-gradient(90deg, transparent, rgba(255, 126, 179, 0.4), transparent) 1;
border-image-slice: 1 0 0 0;
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.2),
0 8px 24px rgba(255, 126, 179, 0.2),
inset 0 0 40px rgba(255, 126, 179, 0.08);
position: relative;
}
.container .dropdown-content::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 40%;
height: 1px;
background: radial-gradient(ellipse at center, var(--cyan-bright) 0%, transparent 70%);
box-shadow: 0 0 10px rgba(255, 126, 179, 0.6);
}
.container .config-title {
color: var(--text-bright);
font-size: 1.1rem;
margin-bottom: 10px;
font-family: var(--font-body);
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 700;
text-shadow: 0 0 10px var(--cyan-bright);
}
.container pre {
background:
radial-gradient(ellipse at 100% 100%, rgba(255, 126, 179, 0.06) 0%, transparent 50%),
#050a14;
padding: 20px;
margin: 0;
border: none;
border-radius: 6px;
white-space: pre;
overflow-x: auto;
color: var(--text-main);
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.3),
0 4px 20px rgba(255, 126, 179, 0.15),
inset 0 0 30px rgba(255, 126, 179, 0.1),
inset 0 1px 0 rgba(255, 164, 209, 0.1);
position: relative;
}
.container pre::before {
content: '◇';
position: absolute;
top: 8px;
right: 12px;
font-size: 0.8rem;
color: var(--cyan-bright);
opacity: 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(--primary-accent);
background: rgba(255, 164, 209, 0.15);
padding: 4px 8px;
border-radius: 3px;
border: 1px solid rgba(255, 126, 179, 0.25);
box-shadow:
0 0 10px rgba(255, 126, 179, 0.1),
inset 0 0 8px rgba(255, 126, 179, 0.08);
}
/* Floating atmospheric particles */
body::before {
content: '✦';
position: fixed;
top: 15%;
left: 8%;
font-size: 0.8rem;
color: #ff8a80;
opacity: 0.2;
text-shadow: 0 0 20px rgba(255, 138, 128, 0.9);
pointer-events: none;
z-index: 1;
}
body::after {
content: '✧';
position: fixed;
top: 60%;
right: 12%;
font-size: 1.2rem;
color: var(--cyan-bright);
opacity: 0.15;
text-shadow: 0 0 25px rgba(77, 208, 225, 0.8);
pointer-events: none;
z-index: 1;
}
/* Light ray effect */
.container .title-main::before {
content: '';
position: absolute;
top: -40px;
left: 50%;
transform: translateX(-50%);
width: 2px;
height: 40px;
background: linear-gradient(180deg, transparent, rgba(255, 126, 179, 0.5));
box-shadow:
0 0 20px rgba(255, 126, 179, 0.7),
0 0 40px rgba(255, 164, 209, 0.4);
filter: blur(2px);
}
/* Reflection effect on subheading */
.container .subheading::after {
content: '';
position: absolute;
bottom: -8px;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, transparent, rgba(255, 126, 179, 0.1), transparent);
filter: blur(2px);
}
/* Additional floating particles for mystical atmosphere */
.container > *:nth-child(3)::before {
content: '·';
position: absolute;
top: -20px;
left: 15%;
font-size: 1.5rem;
color: #ff8a80;
opacity: 0.25;
text-shadow: 0 0 15px rgba(255, 138, 128, 0.9);
}
.container > *:nth-child(4)::after {
content: '✧';
position: absolute;
bottom: -15px;
right: 20%;
font-size: 0.9rem;
color: var(--cyan-bright);
opacity: 0.2;
text-shadow: 0 0 20px rgba(77, 208, 225, 0.8);
}
/* Organic mist overlay on version indicator */
.container .version-indicator {
position: relative;
}
.container .version-indicator::before {
content: '';
position: absolute;
top: -5px;
left: -10px;
right: -10px;
bottom: -5px;
background: radial-gradient(ellipse at center, rgba(255, 126, 179, 0.08) 0%, transparent 70%);
border-radius: 20px;
z-index: -1;
}
/* Additional depth to title subtitle */
.container .title-subtitle::before {
content: '◈';
position: absolute;
left: -30px;
top: 50%;
transform: translateY(-50%);
font-size: 0.8rem;
color: #ff8a80;
opacity: 0.35;
text-shadow: 0 0 15px rgba(255, 138, 128, 0.8);
}
.container .title-subtitle::after {
content: '◈';
position: absolute;
right: -30px;
top: 50%;
transform: translateY(-50%);
font-size: 0.8rem;
color: var(--cyan-bright);
opacity: 0.3;
text-shadow: 0 0 15px rgba(77, 208, 225, 0.8);
}
/* Mystical mist effect overlays */
.container .section-container:nth-child(odd) {
background:
radial-gradient(ellipse at 10% 30%, rgba(255, 126, 179, 0.08) 0%, transparent 50%),
radial-gradient(ellipse at 90% 70%, rgba(192, 132, 252, 0.06) 0%, transparent 50%),
linear-gradient(135deg, var(--bg-card), var(--bg-elevated));
}
/* Organic border accent for data boxes */
.container .data-box:hover {
box-shadow:
0 0 0 1px rgba(255, 126, 179, 0.4),
0 6px 24px rgba(255, 126, 179, 0.25),
inset 0 1px 0 rgba(255, 164, 209, 0.2),
inset 0 0 40px rgba(255, 126, 179, 0.12);
transition: all 0.3s ease;
}
/* Ethereal glow on links */
.container a {
position: relative;
}
.container a::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 1px;
background: linear-gradient(90deg, transparent, var(--cyan-bright), transparent);
opacity: 0;
transition: opacity 0.3s ease;
}
.container a:hover::after {
opacity: 0.6;
}
/* Additional sparkle decorations */
.container .section-container:nth-child(even)::before {
content: '✦';
color: #ff8a80;
text-shadow: 0 0 25px rgba(255, 138, 128, 0.9);
opacity: 0.18;
}
/* Organic divider between sections */
.container .section-container + .section-container::before {
position: absolute;
top: -30px;
left: 50%;
transform: translateX(-50%);
color: var(--primary-accent);
opacity: 0.25;
font-size: 0.8rem;
letter-spacing: 8px;
text-shadow:
0 0 15px rgba(255, 126, 179, 0.8),
0 0 10px rgba(77, 208, 225, 0.3);
z-index: 10;
}
</style>
<html lang="en">
<head>
</head>
PAINTED FANTASY
v3
Magistral-Small-2509-24B
This is an uncensored creative model intended to excel at character driven RP / ERP.
Magistral is a really good model, never got around to making a finetune for it though.
Lots of improvements and experimental additions to the dataset along better overall training parameters. IMO, this feels very different to v2 in a good way.
Recommended Roleplay Format
>
Actions:
In plaintext
>
Dialogue:
"In quotes"
>
Thoughts:
*In asterisks*
Suggested Samplers
>
Temp:
0.7-0.8
>
MinP:
0.075
>
TopP:
0.95-1.00
Instruct
Training process: SFT > DPO
The SFT dataset has been greatly expanded from previous models. 31mil tokens, 25mil trainable. Uses rslora and trains all modules, including lm_head & embed_tokens (at a lower LR).
SFT dataset consists of RP/ERP, Stories, in character assistant data, anime & vtuber AMA's and Nitral's Reddit NSFW writing prompts (slightly modified).
DPO focused on reducing repetition, misgendered characters, parroting and general logic issues. Chosen responses are high quality ERP / RP that are self edited, rejected are MS3.2 outputs, instructed to make mistakes / ignore instructions.
>
Axolotl configs
Not optimized for cost / performance efficiency, YMMV.
SFT 4*H200
base_model: Darkhn/Magistral-Small-2509-Text-Only
tokenizer_use_mistral_common: true
plugins:
- axolotl.integrations.cut_cross_entropy.CutCrossEntropyPlugin
load_in_8bit: false
load_in_bit: false
deepspeed: deepspeed_configs/zero1.json
datasets:
- path: ./data/train_datasetv2.jsonl
type: chat_template
dataset_prepared_path: last_run_prepared
val_set_size: 0.01
output_dir: ./Magi-SFT-v2-3
adapter: lora
peft_use_rslora: true
lora_model_dir:
sequence_len: 10280
sample_packing: true
lora_r: 256
lora_alpha: 16
lora_dropout: 0.075
lora_target_linear: true
lora_modules_to_save:
- embed_tokens
- lm_head
wandb_project: Magi-SFT-24B
wandb_name: Magi-SFT-v2-3
gradient_accumulation_steps: 1
micro_batch_size: 8
num_epochs: 2
optimizer: adamw_bnb_8bit
lr_scheduler: cosine
lr_groups:
- name: lm_head_embed
modules:
- lm_head.weight
- model.embed_tokens.weight
lr: 4e-6
learning_rate: 3e-5
weight_decay: 0.01
max_grad_norm: 1.0
bf16: auto
tf32: false
gradient_checkpointing: true
resume_from_checkpoint:
logging_steps: 1
flash_attention: true
warmup_ratio: 0.05
evals_per_epoch: 4
saves_per_epoch: 2
DPO 2*H200
# ====================
# MODEL CONFIGURATION
# ====================
base_model: ApocalypseParty/Magi-SFT-v2-3
model_type: MistralForCausalLM
tokenizer_type: AutoTokenizer
chat_template: mistral_v7_tekken
# ====================
# RL/DPO CONFIGURATION
# ====================
rl: dpo
rl_beta: 0.075
# ====================
# DATASET CONFIGURATION
# ====================
datasets:
- path: ./data/dpo_ms32_handcrafted_dataset.jsonl
type: chat_template.default
field_messages: messages
field_chosen: chosen
field_rejected: rejected
message_property_mappings:
role: role
content: content
roles:
system: ["system"]
user: ["user"]
assistant: ["assistant"]
dataset_prepared_path: ./dpo_data
train_on_inputs: false # Only train on assistant responses
# ====================
# QLORA CONFIGURATION
# ====================
adapter: lora
load_in_8bit: false
lora_r: 32
lora_alpha: 32
lora_dropout: 0.1
lora_target_linear: true
# lora_modules_to_save: # Uncomment only if you added NEW tokens
# ====================
# TRAINING PARAMETERS
# ====================
num_epochs: 1
micro_batch_size: 2
gradient_accumulation_steps: 6
learning_rate: 5e-6
optimizer: adamw_torch_fused
lr_scheduler: cosine
warmup_ratio: 0.05
weight_decay: 0.01
max_grad_norm: 0.5
# ====================
# SEQUENCE CONFIGURATION
# ====================
sequence_len: 10280
pad_to_sequence_len: true
# ====================
# HARDWARE OPTIMIZATIONS
# ====================
bf16: auto
tf32: false
flash_attention: true
gradient_checkpointing: offload
plugins:
- axolotl.integrations.liger.LigerPlugin
- axolotl.integrations.cut_cross_entropy.CutCrossEntropyPlugin
cut_cross_entropy: true
liger_rope: true
liger_rms_norm: true
liger_layer_norm: true
liger_glu_activation: true
liger_cross_entropy: false # Cut Cross Entropy overrides this
liger_fused_linear_cross_entropy: false # Cut Cross Entropy overrides this
deepspeed: deepspeed_configs/zero1.json
# ====================
# CHECKPOINTING
# ====================
evals_per_epoch: 1
saves_per_epoch: 2
load_best_model_at_end: true
metric_for_best_model: eval_loss
greater_is_better: false
# ====================
# LOGGING & OUTPUT
# ====================
output_dir: ./Magi-SFT-v2-3-DPO-3
logging_steps: 1
save_safetensors: true
# ====================
# WANDB TRACKING
# ====================
wandb_project: Magi-24B-DPO
wandb_name: Magi-SFT-v2-3-DPO-3
</html>