Great job

#1
by Trilogix1 - opened

This one is very well done. The first one that it do not loop and it actually finish the job (most of them correctly) at decent speeds. I am impressed, so few tokens and accurate result.
This is one of my many tests, but is usually a hard one:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Gene expression under 12 stress conditions</title>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<style>
  body{font-family:Arial,Helvetica,sans-serif;margin:0;padding:0;}
  #plot{width:100%;height:90vh;}
</style>
</head>
<body>
<div id="plot"></div>

<script>
// ---------------------------------------------------------------------
// Raw data – 6 genes, 12 conditions, 3 replicates each
// ---------------------------------------------------------------------
const raw = `Gene,As_1,As_2,As_3,Bs_1,Bs_2,Bs_3,Ctrl_1,Ctrl_2,Ctrl_3,Li_1,Li_2,Li_3,Mig_1,Mig_2,Mig_3,Nd_1,Nd_2,Nd_3,Ns_1,Ns_2,Ns_3,Oss_1,Oss_2,Oss_3,Oxs_1,Oxs_2,Oxs_3,Sp_1,Sp_2,Sp_3,Tm_1,Tm_2,Tm_3,Vic_1,Vic_2,Vic_3
SL1344_RS09220,2.920039927,2.088597766,2.351852594,0.395701907,-0.037878549,0.002366695,0.61958973,0.529263057,0.406385383,0.238016771,-0.088636689,0.034388695,-0.612358556,-0.607858916,-0.697820107,-0.906114583,-0.962514778,-0.850801496,-0.711272314,-0.787974085,-0.722047149,-0.26694706,-0.362615123,-0.451280425,-0.854071922,-0.996363752,-0.964899556,-0.972183742,-0.832297051,-0.969806712,0.23462426,0.57133122,0.512196046,1.752142222,0.096479678,0.902766615
SL1344_RS13225,2.049882023,1.907231059,2.363275326,-0.21236263,0.057910802,0.038901715,-0.111562582,-0.246630265,-0.23983352,-0.528688003,-0.526762519,-0.528922038,-0.478567568,-0.537458449,-0.536981066,1.575686015,0.67915306,1.502125186,-1.146987066,-1.264593397,-1.097411643,-0.742750196,-0.607401591,-0.806717834,-1.177445741,-1.267363424,-1.327737523,-0.509010218,-0.262973746,0.088542395,0.426950249,0.37049552,0.773172796,1.397371223,-0.02055947,0.94802312
SL1344_RS19175,1.596388576,1.718135269,1.79428816,0.74699178,0.211998795,0.134529092,0.532929636,0.224503524,-0.284021453,0.401650539,0.382925614,0.857906692,-1.09956742,-0.982035268,-1.157369203,-1.134115236,-0.962057223,-0.872334067,0.043217401,0.094328966,0.287967287,-0.390282146,-0.479151247,-0.915539924,-0.915539924,-0.928562834,-1.159715538,-0.928562834,-0.988290034,-0.647906101,-0.660859576,0.850265106,0.591251538,0.818029397,2.755340798,0.27007314,-1.717309988
SL1344_RS19100,1.488545323,2.126717051,2.86715515,0.18914478,-0.366788889,0.097087392,0.397591846,0.346262629,0.423539624,-0.627348924,-0.572813586,0.05343984,-0.073278619,-0.292082825,-0.402875456,-0.618025858,-0.865920437,-0.529925891,-0.871990993,-0.799999588,-0.459452728,0.256993853,0.276465344,-0.286431404,-0.71002051,-0.730631642,-0.832485693,-0.191472225,-0.444055503,0.152447845,0.162054112,-0.013786033,-0.432829239,3.306386447,-1.010807595,-1.010807595
SL1344_RS10730,1.776681289,1.729793187,1.475857904,0.565026444,0.970272533,0.746381895,1.30857376,0.743106199,0.614629122,-0.349504762,-0.296774814,-0.339240323,-0.755446959,-0.622827201,-0.545635387,-1.039522568,-1.366719386,-1.240086696,-0.248257759,-0.028027792,-0.067603286,0.969263532,0.789001114,0.549772586,0.842689503,0.563745477,0.367439317,-1.290066611,-1.433199676,-0.917437598,0.791959161,0.20594673,0.334857241,-1.582023687,-1.693683437,-1.528939056
SL1344_RS22030,1.761847164,1.636198222,1.80107548,-0.482996176,0.003545357,-0.301613182,-0.2153358,-0.24394108,-0.538189375,-0.144701461,-0.530659092,-0.692769269,-1.218559769,-1.08924836,-1.3169253,-0.620084536,-0.262413545,-0.105524104,0.098177479,0.303504557,0.125278841,0.123379819,0.548767104,-0.861998811,-0.706624624,-0.969983753,-0.73780992,0.371805109,0.539382823,0.819347609,-1.099007983,-0.890716735,-0.837143282,2.192809466,0.887287232,2.653839897`;

// ---------------------------------------------------------------------
// Helper functions
// ---------------------------------------------------------------------
function parseCSV(text) {
  const rows = text.trim().split('\n').map(r=>r.trim());
  const header = rows[0].split(',');
  const data = rows.slice(1).map(line=>{
    const vals = line.split(',');
    const obj = {Gene: vals[0]};
    header.slice(1).forEach((h,i)=>{obj[h]=parseFloat(vals[i+1]);});
    return obj;
  });
  return {header, data};
}

function meanStd(values) {
  const n = values.length;
  const mean = values.reduce((s,v)=>s+v,0)/n;
  const varSum = values.reduce((s,v)=>s+(v-mean)*(v-mean),0);
  const std = Math.sqrt(varSum/(n-1));
  return [mean,std];
}

// ---------------------------------------------------------------------
// Process data
// ---------------------------------------------------------------------
const {header, data} = parseCSV(raw);
// conditions we want to plot (12)
const conds = ['As','Bs','Ctrl','Li','Mig','Nd','Ns','Oss','Oxs','Sp','Tm','Vic'];

// Build a data structure: {gene:{cond:{mean,std}}}
const plotData = {};
data.forEach(rec=>{
  const g = rec.Gene;
  plotData[g] = {};
  conds.forEach(c=>{
    const vals = [rec[`${c}_1`],rec[`${c}_2`],rec[`${c}_3`]];
    const [m,s] = meanStd(vals);
    plotData[g][c] = {mean:m, std:s};
  });
});

// ---------------------------------------------------------------------
// Create Plotly traces
// ---------------------------------------------------------------------
const colors = ['#1f77b4','#ff7f0e','#2ca02c','#d62728','#9467bd','#8c564b'];
const traces = [];
let i=0;
Object.keys(plotData).forEach(g=>{
  const x = conds;
  const y = conds.map(c=>plotData[g][c].mean);
  const err = conds.map(c=>plotData[g][c].std);
  traces.push({
    x, y,
    name: g,
    mode:'lines+markers',
    line:{color:colors[i%colors.length]},
    error_y:{type:'data', array:err, visible:true},
    hovertemplate: `${g}<br>%{x} : %{y:.3f} Β± %{error_y.array:.3f}<extra></extra>`
  });
  i++;
});

// ---------------------------------------------------------------------
// Plot
// ---------------------------------------------------------------------
const layout = {
  title:'Mean expression (Β±β€―SD) of 6 genes in 12 stress conditions',
  xaxis:{title:'Condition'},
  yaxis:{title:'logβ‚‚ fold‑change'},
  hovermode:'closest',
  legend:{orientation:'h', y:-0.2},
  margin:{l:60,r:20,t:60,b:80}
};
Plotly.newPlot('plot',traces,layout);
</script>
</body>
</html>

What the file does

  1. Data – the table you supplied is embedded as a multiline string.
  2. Parsing – the string is split into rows and columns; the first column is the gene ID, the remaining 36 columns are the 3 replicates of each of the 12 conditions.
  3. Statistics – for every condition and every gene the mean and standard deviation of the 3 replicates are computed.
  4. Plot – a single Plotly line chart is created.
    • Each gene gets its own colour.
    • Error bars show Β±β€―SD.
    • Hovering over a point displays the gene name, condition, mean value and the SD.

Open the file in a browser and you’ll see the interactive SVG plot you requested. If you want to change colours, add more genes, or adjust the axes, you can edit the JavaScript section accordingly

Result:
image
Now we have a real competition to Qwen and Deepseek Open weights with same precision (in many tasks) but better speeds. Qwen coder is still better in general but not so fast and it has higher ctx. In my opinion Gpt-oss has real potential if increased the size to half a million. Still very happy with your distill.
Thank you :)

TeichAI org

Thanks a bunch! Means a lot, will keep pumping these out. Huge thanks to @Liontix for such a high quality dataset.

I think I messed up with the dataset formatting funcs which causes <|message|> to appear at the start of each response. Still was overall impressed with this model's efficiency as well. Thanks for sharing this data.

Can you apply Cot to it on top of your distill: https://huggingface.co/xl-zhao?

TeichAI org

Can you apply Cot to it on top of your distill: https://huggingface.co/xl-zhao?

Hello @Trilogix1 , I'm unsure exactly what you mean by this. The point of this distill was to mimic the output and behavior of GLM-4.6

TeichAI org

This one is very well done. The first one that it do not loop and it actually finish the job (most of them correctly) at decent speeds. I am impressed, so few tokens and accurate result.
This is one of my many tests, but is usually a hard one:

I've redone the distill, was curious exactly what prompt you gave it and through what framework (llama.cpp, lm studio, jan, etc). Can use these to evaluate for improvements.

armand0e changed discussion status to closed
armand0e changed discussion status to open

Sorry for the late reply, been a lot busy. I use HugstonOne Enterprise Edition 1.0.8 as application.
here is the query: can you make some linear nice plots with this data, put the replicates together and show +- std (standart deviation) , the conditions are As - Acidic stress Bs - Bile stress Ctrl - Control Li - Low iron Mig - Microaerophilic growth Nd - Nutritional downshift Ns - Nitrosative stress Oss - Osmotic stress Oxs - Oxidative stress Sp - Stationary phase Tm - Temperature Vic - Virulence inducing condition and the data is: COPATHOgenexPathogen specific gene co-expression network (GCN)Core transcriptome gene co-expression network (GCN)Acid stress stimulons per speciesStationary phase stimulons per speciesNutritional downwshift stimulons per speciesBile stress stimulons per speciesLow Iron stimulons per speciesMicroaerophilic growth stimulons per speciesNitrosative stress stimulons per speciesOsmotic stress stimulons per speciesOxidative stress stimulons per speciesTemperature stress stimulons per speciesVirulence inducing condition stimulons per species Locus Tag Genes PGFam description As_1 As_2 As_3 Bs_1 Bs_2 Bs_3 Ctrl_1 Ctrl_2 Ctrl_3 Li_1 Li_2 Li_3 Mig_1 Mig_2 Mig_3 Nd_1 Nd_2 Nd_3 Ns_1 Ns_2 Ns_3 Oss_1 Oss_2 Oss_3 Oxs_1 Oxs_2 Oxs_3 Sp_1 Sp_2 Sp_3 Tm_1 Tm_2 Tm_3 Vic_1 Vic_2 Vic_3 SL1344_RS09220 proP RNA chaperone ProQ 2.920039927 2.088597766 2.351852594 0.395701907 -0.037878549 0.002366695 0.61958973 0.529263057 0.406385383 0.238016771 -0.088636689 0.034388695 -0.612358556 -0.607858916 -0.697820107 -0.906114583 -0.962514778 -0.850801496 -0.711272314 -0.787974085 -0.722047149 -0.26694706 -0.362615123 -0.451280425 -0.854071922 -0.996363752 -0.964899556 -0.972183742 -0.832297051 -0.969806712 0.23462426 0.57133122 0.512196046 1.752142222 0.096479678 0.902766615 COPATHOgenexPathogen specific gene co-expression network (GCN)Core transcriptome gene co-expression network (GCN)Acid stress stimulons per speciesStationary phase stimulons per speciesNutritional downwshift stimulons per speciesBile stress stimulons per speciesLow Iron stimulons per speciesMicroaerophilic growth stimulons per speciesNitrosative stress stimulons per speciesOsmotic stress stimulons per speciesOxidative stress stimulons per speciesTemperature stress stimulons per speciesVirulence inducing condition stimulons per species Locus Tag Genes PGFam description As_1 As_2 As_3 Bs_1 Bs_2 Bs_3 Ctrl_1 Ctrl_2 Ctrl_3 Li_1 Li_2 Li_3 Mig_1 Mig_2 Mig_3 Nd_1 Nd_2 Nd_3 Ns_1 Ns_2 Ns_3 Oss_1 Oss_2 Oss_3 Oxs_1 Oxs_2 Oxs_3 Sp_1 Sp_2 Sp_3 Tm_1 Tm_2 Tm_3 Vic_1 Vic_2 Vic_3 SL1344_RS13225 rnc Ribonuclease III (EC 3.1.26.3) 2.049882023 1.907231059 2.363275326 -0.21236263 0.057910802 0.038901715 -0.111562582 -0.246630265 -0.23983352 -0.528688003 -0.526762519 -0.528922038 -0.478567568 -0.537458449 -0.536981066 1.575686015 0.67915306 1.502125186 -1.146987066 -1.264593397 -1.097411643 -0.742750196 -0.607401591 -0.806717834 -1.177445741 -1.267363424 -1.327737523 -0.509010218 -0.262973746 0.088542395 0.426950249 0.37049552 0.773172796 1.397371223 -0.02055947 0.94802312 COPATHOgenexPathogen specific gene co-expression network (GCN)Core transcriptome gene co-expression network (GCN)Acid stress stimulons per speciesStationary phase stimulons per speciesNutritional downwshift stimulons per speciesBile stress stimulons per speciesLow Iron stimulons per speciesMicroaerophilic growth stimulons per speciesNitrosative stress stimulons per speciesOsmotic stress stimulons per speciesOxidative stress stimulons per speciesTemperature stress stimulons per speciesVirulence inducing condition stimulons per species Locus Tag Genes PGFam description As_1 As_2 As_3 Bs_1 Bs_2 Bs_3 Ctrl_1 Ctrl_2 Ctrl_3 Li_1 Li_2 Li_3 Mig_1 Mig_2 Mig_3 Nd_1 Nd_2 Nd_3 Ns_1 Ns_2 Ns_3 Oss_1 Oss_2 Oss_3 Oxs_1 Oxs_2 Oxs_3 Sp_1 Sp_2 Sp_3 Tm_1 Tm_2 Tm_3 Vic_1 Vic_2 Vic_3 SL1344_RS19175 rfaG UDP-glucose:(heptosyl) LPS alpha1,3-glucosyltransferase WaaG 1.596388576 1.718135269 1.79428816 0.74699178 0.211998795 0.134529092 0.532929636 0.224503524 -0.284021453 0.401650539 0.382925614 0.857906692 -1.09956742 -0.982035268 -1.157369203 -1.134115236 -0.962057223 -0.872334067 0.043217401 0.094328966 0.287967287 0.066395948 -0.390282146 -0.479151247 -0.915539924 -0.928562834 -1.159715538 -0.988290034 -0.647906101 -0.660859576 0.850265106 0.591251538 0.818029397 2.755340798 0.27007314 -1.717309988 SL1344_RS19100 UDP-glucuronate:LPS(HepIII) glycosyltransferase WaaH 1.488545323 2.126717051 2.86715515 0.18914478 -0.366788889 0.097087392 0.397591846 0.346262629 0.423539624 -0.627348924 -0.572813586 0.05343984 -0.073278619 -0.292082825 -0.402875456 -0.618025858 -0.865920437 -0.529925891 -0.871990993 -0.799999588 -0.459452728 0.256993853 0.276465344 -0.286431404 -0.71002051 -0.730631642 -0.832485693 -0.191472225 -0.444055503 0.152447845 0.162054112 -0.013786033 -0.432829239 3.306386447 -1.010807595 -1.010807595 SL1344_RS10730 rfbU LPS O-antigen biosynthesis protein RfbU 1.776681289 1.729793187 1.475857904 0.565026444 0.970272533 0.746381895 1.30857376 0.743106199 0.614629122 -0.349504762 -0.296774814 -0.339240323 -0.755446959 -0.622827201 -0.545635387 -1.039522568 -1.366719386 -1.240086696 -0.248257759 -0.028027792 -0.067603286 0.969263532 0.789001114 0.549772586 0.842689503 0.563745477 0.367439317 -1.290066611 -1.433199676 -0.917437598 0.791959161 0.20594673 0.334857241 -1.582023687 -1.693683437 -1.528939056 COPATHOgenexPathogen specific gene co-expression network (GCN)Core transcriptome gene co-expression network (GCN)Acid stress stimulons per speciesStationary phase stimulons per speciesNutritional downwshift stimulons per speciesBile stress stimulons per speciesLow Iron stimulons per speciesMicroaerophilic growth stimulons per speciesNitrosative stress stimulons per speciesOsmotic stress stimulons per speciesOxidative stress stimulons per speciesTemperature stress stimulons per speciesVirulence inducing condition stimulons per species Locus Tag Genes PGFam description As_1 As_2 As_3 Bs_1 Bs_2 Bs_3 Ctrl_1 Ctrl_2 Ctrl_3 Li_1 Li_2 Li_3 Mig_1 Mig_2 Mig_3 Nd_1 Nd_2 Nd_3 Ns_1 Ns_2 Ns_3 Oss_1 Oss_2 Oss_3 Oxs_1 Oxs_2 Oxs_3 Sp_1 Sp_2 Sp_3 Tm_1 Tm_2 Tm_3 Vic_1 Vic_2 Vic_3 SL1344_RS22030 basS Sensor protein BasS/PmrB (activates BasR/PmrA) 1.761847164 1.636198222 1.80107548 -0.482996176 0.003545357 -0.301613182 -0.2153358 -0.24394108 -0.538189375 -0.144701461 -0.530659092 -0.692769269 -1.218559769 -1.08924836 -1.3169253 -0.620084536 -0.262413545 -0.105524104 0.098177479 0.303504557 0.125278841 0.123379819 0.548767104 -0.861998811 -0.706624624 -0.969983753 -0.73780992 0.371805109 0.539382823 0.819347609 -1.099007983 -0.890716735 -0.837143282 2.192809466 0.887287232 2.653839897 so show all the 6 genes in one plot svg with hover lines and different colors in interactive plot and all this in one contained html

For the Cot technique it do not matter, I will do it myself if the time allows.
The gemini, claude and gpt versions are less accurate. The claude version comes after glm but is too restricted (kinda gpt and gemini canΒ΄t really work with it) so it needs abliteration or josie.
Which distill you have redone?

TeichAI org

I would stick with this distill for now. Experimenting with some new data to fix a lot of errors I had in tool calling, once this is all patched this model and the others will surely perform a lot better. Either way this model is the best ATM

You are not using f16/f32 from the weight of the original model when converting to GGUF. That alone kills the quality.
I suggest you try that.

TeichAI org

Have given that some thought. Thing is, 4bit is arguably lossless on gpt-oss given the model was released in mxfp4 format. I have produced higher quality distills of claude-4.5-sonnet and gpt-5-codex with this 4bit base base model. Running a (hopefully) improved distill of gpt-5 reasoning, once I'm happy with my result there I will apply the same training args to glm-4.6 and gemini-2.5-pro. Expect updates here within a week.

I am following your work closely, even though I believe that GPT architecture is outdated and limited.
One possible Optimization can be the Entropy targeted attention, (it will fix the flaw of the vanilla attention) increasing the accuracy 5-10% keeping the speed.
I am already out of my league, but trying to understand a bit the architecture: https://bbycroft.net/llm I was trying to skip the normalization (as i thought big models will gain speed) but then I realize that the heads can focus the attention in the heads by priority (zooming in kind of like a moe that uses only what is required) and zoom out the rest.
The cool advantage of this may be that longer is the context and better will be the result. All this is my hypothesis, and then it is Sunday πŸ˜†

Trilogix1 changed discussion status to closed

Sign up or log in to comment