Pular para o conteúdo

Nokia lançou uma alternativa gratuita ao Jev (AnyJev)

Ver no idioma original →

Autoria: Better Stack · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: Nokia Just Released a Free Jev Alternative (AnyJev) · Canal: Better Stack · 15:25 · Assistir no YouTube

Tópicos: Agentes de IA, Avaliação e benchmarks de IA, Inferência e otimização de modelos, Modelos de IA, Modelos locais e open source

O vídeo apresenta AnyJev, uma biblioteca da equipe de pesquisa aplicada da Nokia que adiciona uma camada de decisão a modelos open-weight, sem treinamento nem dados rotulados adicionais. O apresentador compara Jev, Qwen-3 sem ajustes e Qwen-3 com AnyJev em testes de detecção de manchetes satíricas. Jev alcança maior precisão e calibração no teste principal, enquanto AnyJev elimina a sensibilidade à ordem das opções e remove a tendência por um rótulo, mas isso nem sempre melhora os resultados. A biblioteca permite executar as avaliações localmente e sem custo de API, mas o apresentador recomenda validar as respostas com exemplos reais antes de usar em produção.

  • AnyJev transforma modelos open-weight em modelos de decisão, sem fine-tuning nem dados rotulados.
  • A biblioteca estima a probabilidade das opções observando a probabilidade do próximo token correspondente a cada rótulo.
  • O nível L0 corrige vieses de posição e de rótulo, mas não calibra a confiança por padrão.
  • No teste principal com 500 manchetes, Jev obteve 80% de precisão; Qwen-3 bruto, 68,4%; e Qwen-3 com L0, 68,6%.
  • O prior sem conteúdo pode reduzir a tendência por um rótulo, mas a correção pode passar do ponto e piorar os resultados.
  • Jev foi mais rápido e melhor calibrado nos testes apresentados; AnyJev teve custo de execução local zero e não transferiu os dados para fora da máquina.
  • Os testes com manchetes individuais tiveram resultados variáveis, mostrando que a correção de viés depende da composição dos dados.
  • O apresentador recomenda conferir os resultados com respostas reais antes de usar AnyJev em produção.
Início Capítulo Resumo
00:00 AnyJev e a detecção de sátira O apresentador compara as respostas de modelos a manchetes e introduz AnyJev, uma biblioteca da Nokia para criar modelos de decisão.
01:35 Como funcionam modelos de decisão e AnyJev O vídeo explica as probabilidades por opção, o funcionamento da biblioteca e os vieses de posição e de rótulo que o nível L0 procura corrigir.
05:12 Teste principal com 500 manchetes O apresentador descreve o conjunto de dados e compara precisão, velocidade, custo, tendência por rótulo e calibração dos modelos.
09:47 Testes com manchetes individuais AnyJev com prior sem conteúdo se destaca em um conjunto de manchetes difíceis, mas perde desempenho em outro conjunto mais recente.
13:22 Conclusões, limitações e uso local O apresentador resume os resultados, destaca as limitações da correção de viés e recomenda validar as respostas antes de usar a biblioteca em produção.
14:54 Avaliação final O apresentador considera a ideia promissora, mas avalia que o método sem treinamento não alcançou Jev nos testes com Qwen-3.

O modelo nunca gera texto, e a resposta não pode falhar na análise. — 02:37

Mas L0 não mudou uma única resposta. — 04:42

Remover uma tendência pode passar do ponto e corrigir na direção oposta. — 13:22

Confira com algumas respostas reais antes de colocar em produção. — 14:23

  • AnyJev (ferramenta): Biblioteca Python da Nokia que adiciona uma camada de decisão a modelos open-weight executados localmente.
  • Jev (modelo): Modelo de decisão hospedado, usado no vídeo como referência de comparação com AnyJev e Qwen-3.
  • Qwen3 (modelo): Modelo de 8 bilhões de parâmetros testado localmente, tanto sem ajustes quanto com a camada L0 do AnyJev.
  • L0 (conceito): Nível do AnyJev que corrige vieses de posição e de rótulo, sem exigir exemplos rotulados.
  • content-free prior (conceito): Método que estima a tendência do modelo a partir de uma entrada sem conteúdo específico.
  • llama.cpp (ferramenta): Uma das ferramentas de execução compatíveis com AnyJev, usada para rodar os modelos localmente no teste.
  • Nokia (empresa): Empresa cuja equipe de pesquisa aplicada desenvolveu AnyJev.
  • RoBERTa (modelo): Modelo citado na demonstração do viés causado pela ordem das opções.

00:00 Certo, antes de começarmos, quero que você leia esta manchete e decida por conta própria se é uma notícia real ou uma notícia satírica do The Onion. Pense um pouco, porque essas são mais difíceis do que parecem. Então, esta é real, e há três modelos aqui tentando adivinhar se é sátira ou não, e todos contam uma história completamente diferente. Um modelo Qwen comum, rodando no meu MacBook, diz que há 99% de chance de ser sátira. Jev, que é um decision model hospedado, sinceramente não sabe e diz que há 58% de chance

00:31 de ser uma notícia real. E o mesmo modelo Qwen, com uma nova biblioteca chamada AnyJev por cima, diz que é uma notícia 100% real. Agora, experimente esta. Esta também é real, mas desta vez enganou todos os modelos, incluindo Jev, que deu 86% de chance de ser sátira. Para ser justo, também me enganou. Então, o que é esse AnyJev que estamos vendo aqui? Bem, AnyJev é uma nova biblioteca desenvolvida pela equipe de pesquisa aplicada da Nokia. Isso mesmo, a mesma Nokia que criou o famoso 3310, e ela afirma que você

01:03 pode transformar quase qualquer modelo aberto em um decision model como Jev, sem treinamento e sem dados rotulados adicionais. Então, passei um conjunto de dados de 500 manchetes do The Onion e de sites de notícias reais por todos eles para ver se conseguem identificar com confiança o que é sátira e o que não é. E os resultados foram muito mais interessantes do que simplesmente escolher um vencedor ou um perdedor. Então, neste vídeo, vamos dar uma olhada no AnyJev, ver como funciona e, depois, fazer uma comparação detalhada entre esses três modelos e ver como eles

01:35 se saem. Vai ser bem divertido, então vamos começar. Aqui vai uma rápida recapitulação do que é um decision model. Um LLM comum escreve uma resposta para você, palavra por palavra, mas um decision model simplesmente faz um julgamento rápido. Você fornece a ele um estado, que é aquilo que quer que ele avalie, e uma pergunta tipada, que pode ser uma escolha, uma resposta de sim ou não ou uma pontuação. E você recebe de volta uma probabilidade para cada opção, então não há texto para analisar. Jev faz

02:06 isso por meio de uma API hospedada. Custa 4,2 centavos por milhão de tokens de entrada, e a saída é gratuita. No meu teste, cada chamada tinha cerca de 310 tokens, então 1.000 chamadas custaram um pouco mais de um centavo. Mas o problema com Jev é que ele é closed source, então você não pode baixá-lo nem executá-lo por conta própria. AnyJev é uma biblioteca Python que adiciona essa camada de decisão a qualquer modelo de pesos abertos rodando na sua própria máquina. Ela funciona com Hugging Face Transformers, vLLM, SG Lang e

02:37 llama.cpp. E está licenciada sob a licença Apache 2.0. E o modo como funciona é bem simples. Ela mostra ao modelo seu estado e sua pergunta, com cada opção representada por uma letra, como A para sátira ou B para notícia real. Então, em vez de deixar o modelo escrever qualquer coisa, ela verifica a probabilidade de cada uma dessas letras ser o próximo token e usa isso como a probabilidade da opção. Assim, o modelo nunca gera texto, e a resposta não pode falhar na análise. E aqui está como configurar isso

03:08 na sua própria máquina. Primeiro, você escolhe um backend e, depois, o envolve em um decider. É aqui que você escolhe o nível: raw, para uma saída simples, ou L0, para corrigir o viés. Falaremos disso daqui a pouco. Depois, você define sua pergunta com as opções e chama decide com seu texto. O que retorna é uma probabilidade para cada opção, além do nível em que a resposta foi dada. Então, o que é esse L0 que acabei de mencionar? Bem, quando você lê as probabilidades raw de um modelo,

03:38 elas têm dois vieses incorporados. O primeiro é o viés de posição, que significa que o modelo pode preferir uma resposta simplesmente por causa da posição que ela ocupa na lista. O segundo é o viés de rótulo, que significa que alguns rótulos de resposta parecem mais prováveis para o modelo, independentemente do que você esteja perguntando. Aqui está como é o viés de posição. Esta é exatamente a mesma manchete e exatamente a mesma pergunta, e a única coisa que mudei foi a ordem das duas opções. E esta manchete é uma notícia real. Quando a sátira aparece primeiro, RoBERTa dá apenas 1% de chance para sátira, então

04:12 tem certeza de que a manchete é real. Depois, troco as duas opções e agora o modelo diz que há 99,8% de chance de ser sátira, então muda completamente de ideia. Mas o L0 do AnyJev diz que é 100% notícia real nos dois casos. E Jev só muda de 25% para 23% de chance de ser sátira. E, entre todas as 500 manchetes, RoBERTa mudou a resposta em 20 delas quando troquei as opções, o que corresponde a 4%. Jev mudou em 18, mas foram mudanças pequenas, de cerca de três

04:42 pontos percentuais, em média. Então, em geral, já eram casos de decisão apertada. Mas L0 não mudou uma única resposta. L0 corrige esse problema de viés em duas etapas. Primeiro, faz a pergunta uma vez para cada ordenação das opções e calcula a média dos resultados, para que nenhuma opção tenha vantagem por causa da posição que ocupa. Depois, estima o quanto o modelo tende a preferir cada rótulo e divide esse viés. E faz tudo isso sem um único exemplo rotulado. E há

05:12 duas maneiras de estimar esse viés. A padrão se chama batch prior, que analisa as respostas em um lote de entradas. A outra, chamada content-free prior, mede essa tendência usando uma entrada sem conteúdo real, que é o que você usaria se tivesse apenas uma manchete para avaliar. Lembre-se dessa segunda opção, porque ela vai ser muito importante no teste. Para o teste em si, estou usando um conjunto de dados do Kaggle chamado news headlines data set for sarcasm detection. Ele tem

05:42 28.619 manchetes, em que as satíricas vêm do The Onion e as reais vêm do Huffington Post. E os rótulos são bem claros e confiáveis, porque o The Onion só publica sátiras, então ninguém precisou adivinhar quais manchetes eram piadas. Peguei 500 manchetes, metade satíricas e metade reais, e todos os modelos recebem a mesma pergunta: esta manchete é uma sátira do The Onion ou é uma notícia real? E temos três concorrentes na tela: Jev 1.13, que funciona pela

06:12 API da Type Safe, e os outros dois estão rodando no meu MacBook Pro M2 Max por meio do Llama.cpp. Eles usam o Qwen-3, o modelo de 8 bilhões de parâmetros, com a leitura raw, e estou usando exatamente o mesmo modelo Qwen com o L0 do AnyJev por cima. E criei este pequeno app para você acompanhar tudo acontecendo ao vivo. Então, vamos começar a execução. Como você pode ver aqui, Jev está processando cerca de 10 manchetes por segundo e termina as 500 em 51 segundos, incluindo a

06:43 latência de rede entre meu Mac e os servidores da Type Safe. Nesse momento, meu laptop ainda está só mais ou menos no primeiro terço do processamento. por segundo, e o AnyJev L0 processa menos de três, porque lê cada manchete duas vezes, então é mais lento. E os dois modelos estão compartilhando a mesma GPU aqui. Assim, a execução inteira no meu laptop levou cerca de 4 minutos e 36 segundos. E, como você pode ver, os números finais são 80% de acurácia para Jev, 68,4%

07:14 de acurácia para o Qwen raw e 68,6% para L0. Então, em acurácia, Jev ainda vence por cerca de 12 pontos, e a correção do AnyJev quase não altera a pontuação. E aqui está o placar completo da execução do benchmark. Jev vence em acurácia, calibração e velocidade, e a execução inteira me custou menos de um centavo. Mas AnyJev vence na taxa de inversão, com zero, e no custo, porque é gratuito. E há uma quarta linha na parte de baixo, à qual voltarei daqui a

07:44 pouco. Então, quando analisei os erros mais de perto, descobri que o Qwen tende bastante a classificar as coisas como sátira. Ele classificou quase 69% das manchetes como sátira, embora o número real seja exatamente 50%. Então, acerta 87% das sátiras, mas, no caso das notícias reais, fica basicamente dividido meio a meio. E é aí que entra a quarta linha. Esta é a versão L0 com o content-free prior, aquela que mencionei antes que seria importante nos testes. Então, com o batch prior padrão, L0 quase não altera

08:15 As respostas do Qwen. Porque o Qwen quase sempre fica em 0% ou 100%, e corrigir algo tão extremo para compensar uma tendência raramente muda o resultado. Mas o prior livre de conteúdo corrige muito mais. Ele acerta cerca de 67% das sátiras e 66% das notícias reais. Então, a tendência desaparece completamente. Mas ele perdeu mais respostas de sátira do que recuperou entre as notícias reais. No geral, acaba ficando dois pontos abaixo, com 66,6%. Mas o que eu acho mais

08:47 interessante neste gráfico é quando agrupei cada resposta de acordo com o nível de confiança do modelo e depois verifiquei com que frequência ele realmente acertou. Se um modelo for bem calibrado, quando disser 80%, deverá acertar cerca de 80% das vezes, e a linha deverá acompanhar esta diagonal. Então, o Jev acompanha a diagonal muito bem. O Qwen e o L0 acabam quase sobrepostos, e quase todas as respostas deles ficam em dois grandes pontos nas extremidades. Na verdade, 87% das respostas originais do

09:17 Qwen vieram com 99% de confiança ou mais, e ele errou 30% dessas respostas. Então, a confiança dele quase não ajuda a saber quando dá para confiar nele. E o L0 não muda isso, o que é esperado, porque a documentação descreve o L0 como uma forma de remover vieses, não de calibrar a confiança. O erro de calibração dele é 0,3, quase igual ao do modelo original, enquanto o do Jev é 0,07. Agora, vamos deixar o teste um pouco mais difícil. Nesta rodada,

09:47 tenho sete artigos reais que parecem ter saído do The Onion, incluindo os artigos sobre High Rocks e café que vimos no começo, além de três manchetes verdadeiras do The Onion misturadas. E, como estou avaliando essas manchetes uma por vez, não há um lote para medir a tendência do Qwen, então qualquer Jev precisa usar o prior livre de conteúdo nesta rodada. Vamos ver esta. Cliente da Amazon fica chocado ao descobrir que seu perfil “sobre você” afirma que não tem amigos nem nádegas firmes. Esta é uma manchete real,

10:17 e o Qwen diz que há 96% de chance de ser sátira. O Jev fica exatamente em cima do muro, com 52% contra 48%, e o AnyJev diz que é 100% real, o que está correto. Vamos tentar esta manchete. 80% das pessoas assistindo a este vídeo não estão inscritas no canal Better Stack. Olha só. Isso é interessante. Então, se você se considera uma dessas pessoas, eu recomendaria se inscrever para não perder outros vídeos legais como este. E aqui está uma das três manchetes do The Onion que misturei. Rockstar

10:48 anuncia que a trilha sonora de GTA 6 terá 10.000 músicas de Randy Newman, e o Jev tem 100% de certeza de que isso é sátira, e o Qwen original concorda, mas agora o AnyJev diz que há 99,5% de chance de ser uma notícia real. Então, no fim desta rodada, o AnyJev vence, com 70%. O Jev acerta 50%, e o Qwen original, 40%, e é exatamente isso que o L0 promete corrigir. O Qwen original tende fortemente à sátira e classificou nove dessas dez

11:18 manchetes como sátira, mas o L0 remove essa tendência. Então, nas manchetes reais que parecem falsas, ele corrigiu quatro respostas erradas do modelo Qwen original. Só estragou uma, a manchete sobre GTA. Agora, há uma crítica justa a fazer sobre este teste. O conjunto de dados é de 2019 e circulou bastante pela internet, então há uma boa chance de esses modelos terem visto algumas dessas manchetes exatas durante o treinamento. Por isso, nesta rodada, escolhi dez manchetes recentes, metade do The Onion e metade de fontes reais. Vamos ver como

11:49 isso vai. Milho é eleito a planta mais sexy do mundo. Este é um começo fácil. Todos os modelos identificam corretamente que é sátira. HBO anuncia retorno de série de sucesso uma década após o fim. Esta é real, e todos os modelos também acertam. Mas, quando chegamos a “Tio falecido é lembrado como o homem que tinha um triturador de latas na garagem”, que é sátira, o Jev diz que há 75% de chance de ser sátira e o Qwen original diz 100%, mas agora o AnyJev diz que há 76% de chance de ser uma notícia real. E a minha

12:19 favorita é esta. Autoridades investigam colisão entre trens que saíam de Chicago a 80 milhas por hora e de DC a 75 milhas por hora. É basicamente um problema de matemática escolar escrito como notícia, e o Qwen original entende a piada com 98% de confiança de que é sátira. O Jev mal acerta, com 52%, e o AnyJev diz que há 99,8% de chance de ser uma notícia real. Então, nesta rodada, o Jev acerta 90%, o Qwen original, 80%, e o AnyJev

12:50 cai para 60%. Então, a mesma correção da primeira rodada acaba trabalhando contra ele desta vez. Com uma mistura equilibrada de sátira e notícias reais, remover a tendência do Qwen à sátira fez com que ele errasse duas manchetes satíricas que o Qwen original havia acertado, sem corrigir nenhuma em troca. Então, o que aprendemos com tudo isso? Bem, no teste maior, o Jev é cerca de 12 pontos mais preciso. Ele é mais rápido mesmo considerando a latência da rede, mas isso depende da sua máquina, e

13:22 a confiança dele realmente significa alguma coisa. Então, por menos de um centavo a cada 500 manchetes, é um ótimo negócio. Mas eu diria que o AnyJev faz exatamente o que promete. Ele impede que o modelo seja enganado pela ordem das opções e remove a tendência do modelo a favor de um rótulo, o que fez com que ele vencesse em uma dessas rodadas sequenciais. Mas essas rodadas sequenciais também mostraram que há uma ressalva nesse método: remover uma tendência pode fazer com que o modelo passe do ponto e tenda para o outro lado. E se isso ajuda

13:53 você depende da proporção de cada tipo de resposta nos seus dados. Isso também não deixa o modelo mais inteligente, e o modo L0 padrão não calibra a confiança. Mas o AnyJev tem níveis mais avançados que fazem essa calibração, só que eles precisam de algumas centenas de exemplos rotulados, e não os testei aqui. Acho que a grande vantagem é que tudo foi executado de graça no meu laptop, sem que nenhum dado saísse da minha máquina. Então, se seus dados forem privados, o AnyJev, com um modelo open source robusto, provavelmente é uma boa biblioteca para usar. Só

14:23 lembre-se de testá-lo com algumas respostas reais antes de colocá-lo em produção. Porque, como vimos hoje, às vezes ele erra. Também publiquei no GitHub um pequeno aplicativo em que você pode experimentar por conta própria. Depois de configurá-lo, você pode digitar qualquer manchete na caixa de entrada, e ele mostrará se é real ou sátira. Você encontra o link para esse projeto na descrição abaixo. Então é isso, pessoal. Esse é o AnyJev em poucas palavras. Acho que a ideia por trás dele é muito legal, porque agora você tem uma biblioteca que pode usar para transformar qualquer

14:54 modelo de pesos abertos no seu próprio decision model, mas fiquei um pouco decepcionado com os resultados do teste. No modelo Qwen de 8 bilhões de parâmetros, a abordagem sem treinamento não foi suficiente para alcançar o Jev. Então, ainda não estou convencido. Mas essas são só as minhas opiniões sobre o assunto. Quero saber o que vocês acham, então me contem nos comentários abaixo. E, pessoal, se vocês gostam desse tipo de análise técnica detalhada, avisem dando um like no vídeo e não se esqueçam de se inscrever no nosso canal. Aqui foi

15:25 Andrus, da Better Stack, e vejo vocês nos próximos vídeos. >> [música]

Transcrição original

[00:00] Okay, before we start, I want you to read this headline and decide for yourself whether it’s a real news article or a joke article from The Onion. Take a second because these are harder than they look. So, this one is real and there are three models here that try to guess whether it’s satire or not and all of them tell a completely different story. A regular Qwen model running on my MacBook says there’s a 99% chance it’s satire. Jev, which is a hosted decision model, honestly doesn’t know and says that there’s a 58% chance

[00:31] it’s a real news article. And the exact same Qwen model with a new library called AnyJev on top of it says that it’s 100% real news. Now, try this one. This one is also real, but this time it fooled every single model including Jev at 86% satire. To be fair, it fooled me, too. Now, what is this AnyJev that we’re looking at here? Well, AnyJev is a new library developed by Nokia’s applied research team. Yep, the same Nokia that made the famous 3310 and it claims you

[01:03] can turn almost any open model into a decision model like Jev with no training and no extra labeled data. So, I ran a data set of 500 headlines from The Onion and from real news sites through all of them to see if they can confidently identify what is satire and what is not. And the results were a lot more interesting than a simple winner or loser. So, in this video, we’ll take a look at AnyJev, see how it works, and then we’ll do a detailed comparison of all these three models and see how they

[01:35] perform. It’s going to be a lot of fun, so let’s dive into it. So, here’s a quick reminder of what a decision model is. A normal LLM writes you an answer word by word, but a decision model just makes a quick judgment call. You give it some state, which is the thing you want it to judge, and a typed question, which can be a choice, a yes or no, or a score. And you get back a probability for every option, so there’s no text to parse. Jev does

[02:06] this through a hosted API. It costs 4.2 cents per million input tokens, and the output is free. And in my test, each call was about 310 tokens, so 1,000 calls cost a little over a cent. But the problem with Jev is that it’s closed source, so you can’t download it or run it yourself. AnyJev is a Python library that adds this decision layer on top of any open-weight model running on your own machine. It works with Hugging Face Transformers, vLLM, SG Lang, and

[02:37] llama.cpp. And it’s licensed under the Apache 2.0 license. And the way it works is actually pretty simple. It shows the model your state and your question, with every option given a letter, like A for satire or B for real news, and then instead of letting the model write anything, it looks at how likely the very next token is to be each of those letters, and that becomes your probability. So, the model never generates text, and the answer can’t fail to parse. And here’s how you set it

[03:08] up on your own machine. First, you pick a back-end, and then you wrap that back-end into a decider, and this is where you choose the level, so raw for plain output or L0 for the bias fix. We’ll talk about that in a second. And after that, you define your question with its options, and you call decide with your text. What comes back is a probability for every option, plus the level it was answered at. So, what is that L0 I just mentioned? Well, when you read the raw probabilities for a model,

[03:38] they have two biases built in. The first one is position bias, which means the model can prefer an answer just because of where it sits in the list. The second one is label bias, which means some answer labels just feel more likely to the model, no matter what you’re asking. Here’s what position bias looks like. This is the exact same headline and the exact same question, and the only thing I changed is the order of the two options. And this headline is a real news article. When satire is listed first, RoBERTa gives satire only 1%, so

[04:12] it’s sure the headline is real. Then, I swap the two options and now it says 99.8% satire, so it completely changes its mind. But any Jevs L0 says 100% real news both ways. And Jev only moves from 25 to 23% satire. And across all 500 headlines, RoBERTa changed its answer on 20 of them when I swapped the options, which is 4%. Jev changed on 18, but those were tiny moves of about three

[04:42] percentage points on average. So they were mostly close calls to begin with. But L0 didn’t change a single answer. So L0 fixes this bias issue in two steps. First, it asks the question once for every ordering of the options and averages the results, so no option gets an advantage from where it sits. Then, it estimates how much the model leans towards each label and divides that lean out. And it does all of this without a single labeled example. And there are

[05:12] two ways it can estimate that lean. The default one is called batch prior, which looks at the answers across a batch inputs. And the other one, called content-free prior, which measures the lean from an input with no real content in it, which is what you would use if you only had one headline to judge. Keep that second one in mind because it’s going to matter a lot in the test. So for the test itself, I’m using a data set from Kaggle called news headlines data set for sarcasm detection. It has

[05:42] 28,619 headlines where the satire comes from The Onion and the real ones come from Huffington Post. And the labels are really clean and trustworthy because The Onion only publishes satire, so nobody had to guess which headlines are jokes. And I took 500 headlines, half satire and half real, and every model gets the same question. Is this headline satire from The Onion or is it real news? And we have three contestants here on screen, Jev 1.13, which runs through

[06:12] Type Safe’s API, and the other two are running on my M2 Max MacBook Pro through Llama.cpp. And they’re using Qwen-3, the 8 billion parameter model with the raw readout, and I’m using the exact same Qwen model with AnyJev’s L0 on top of it. And I built this little app so you can watch it all happen live. So let’s start the run. So, as you can see here, Jev is going through about 10 headlines per second, and it finishes all 500 in 51 seconds, and that’s including the

[06:43] network latency from my Mac to Type Safe’s servers. At that point, my laptop is still only about a third of the way through. per second, and AnyJev L0 does under three because it reads every headline twice, so it’s slower. And both models are sharing the same GPU here. So the whole run on my laptop took about 4 minutes and 36 seconds. And as you can see, the final numbers are 80% accuracy for Jev, 68.4%

[07:14] accuracy for Raw Qwen, and 68.6% for L0. So on accuracy, Jev still wins by about 12 points, and AnyJev’s fix barely changes the score. And here’s the full scoreboard for the benchmark run. Jev wins on accuracy, calibration, and speed, and the whole run cost me less than a cent. But AnyJev wins on flip rate with zero, and on cost because it’s free. And there’s a fourth row at the bottom, which I’ll come back to in a

[07:44] second. So, when I looked closer at the mistakes, I found that Quinn leans really hard towards satire. It called almost 69% of the headlines satire when the real number is exactly 50. So, it gets 87% of the satire right, but on the real news, it’s basically a 50/50 split. And this is where the fourth row comes in. This one is L0 with the content free prior, the one I mentioned earlier would matter in the tests. So, with the default batch prior, L0 barely changes

[08:15] Quinn’s answers. Because Quinn is almost always at zero or 100%, and correcting something that extreme for a lean rarely flips it. But the content free prior corrects a lot harder. It gets about 67% of the satire right and 66% of the real news. So, the lean is completely gone. But it gave up more satire answers than it won back on the real news. So, overall, it ends up two points lower at 66.6%. But the part that I find most

[08:47] interesting in this chart is when I grouped every answer by how confident the model was, and then I checked how often it was actually right. If a model is well-calibrated, then when it says 80%, it should be right about 80% of the time, and the line should follow this diagonal. So, Jeff follows the diagonal really nicely. Quinn and L0 end up almost on top of each other, and nearly all of their answers sit in two big dots at the very ends. In fact, 87% of raw

[09:17] Quinn’s answers came with 99% confidence or more, and it was wrong on 30% of those. So, its confidence tells you almost nothing about when you can trust it. And L0 doesn’t change that, which is actually expected because the docs describe L0 as removing biases, not as calibrating confidence. Its calibration error is 0.3, almost the same as raw, while Jeb’s is 0.07. Now, let’s make the test a little bit harder. In this round,

[09:47] I have seven real articles that sound like The Onion, including the High Rocks and the coffee ones that we saw at the beginning, plus three actual Onion headlines mixed in. And since I’m judging these headlines one at a time, there’s no batch to measure Quen’s lean from, so any Jeb needs to use the content free prior in this round. So, let’s look at this one. Amazon customer stunned after their about you profiles claim they have no friends or flat buttocks. So, this one is a real

[10:17] headline, and Quen says it’s 96% satire. Jeb sits right on the fence at 52 to 48, and any Jeb says it’s 100% real, which is correct. Let’s try this headline. 80% of the people watching this video are not subscribed to the Better Stack channel. Well, look at that. That is interesting. So, if you see yourself as one of those people in that bucket, then I would consider subscribing so you don’t miss out on other cool videos like this one. And here’s one of the three Onion headlines I mixed in. Rockstar

[10:48] announces GTA 6 soundtrack contains 10,000 songs by Randy Newman, and Jeb is 100% sure that this one’s satire, and raw Quen agrees, but any Jeb now says 99.5% that it’s real news. So, at the end of this round, any Jeb wins by 70%. Jeb gets 50%, and raw Quen gets 40%, and that’s exactly what the L0 promises to fix. So, raw Quen leans heavily towards satire, and it called nine of these 10

[11:18] headlines satire, but L0 removes that lean. So, on real headlines that sound fake, it fixed four answers that the raw Quen model got wrong. It only broke one, which was the GTA headline. Now, there’s one fair criticism on this test. The data set is from 2019 and it’s been all over the internet, so there’s a good chance that these models saw some of those exact headlines during training. So, for this round, I picked 10 recent headlines, half of them from The Onion and half real ones. So, let’s see how

[11:49] that goes. Corn named world’s sexiest plant. This is an easy start. Every model identifies it correctly as satire. HBO announces return of hit show a decade after its final. This one is real and every model gets that one, too. But, then when we get to late uncle remembered as man who had can crusher in garage, which is satire, Jev says 75% satire and Raw Kwenn says 100%, but Any Jev now says it’s 76% real news. And my

[12:19] favorite one is this one. Authorities investigate collision between trains from Chicago traveling 80 mph, DC traveling 75 mph. Which is basically a school math problem written as a news story and Raw Kwenn gets the joke at 98% satire. Jev barely gets it right at 52% and Any Jev says it’s 99.8% real news. So, in this round, Jev gets 90%, Raw Kwenn gets 80% and Any Jev

[12:50] drops to 60%. So, that’s the same correction from round one working against it this time. So, with an even mix of satire and real news, removing Kwenn’s satire lean cost it two satire headlines that Raw Kwenn got right and it didn’t fix a single one in return. So, what did we learn from all of this? Well, on the big test, Jev is about 12 points more accurate. It’s faster even when you account for network latency, but that depends on your machine and

[13:22] it’s confidence actually means something. So, for less than a cent per 500 headlines, that’s a pretty good deal. But, I would say any Jev does exactly what it says. It stops the model from being fooled by the order of the options, and it removes the model’s lean towards one label, which made it win in one of these sequential rounds. But, those sequential rounds also showed that there is a catch to this method because removing a lean can overshoot it in the other direction. And whether that helps

[13:53] you depends on the mix of answers in your data. It also doesn’t make the model smarter, and the default L0 mode doesn’t calibrate the confidence. But, any Jev does have higher levels that do calibrate this, but those need a few hundred labeled examples, and I didn’t test them here. I guess the big advantage is that everything ran on my laptop for free with no data leaving my machine. So, if your data is private, any Jev on top of a strong open model is probably a good library to use. Just

[14:23] make sure you check it against some real answers before you deploy it to production. Because as we saw today, it does get it wrong sometimes. There’s also a little app that I published on GitHub where you can try this on your own. If you set it up, you can type any headline into the input box, and it will show you if it’s real or satire, and you can find the link to that project in the description below. So, there you have it, folks. That is any Jev in a nutshell. I think the idea behind it is really cool because now you have a library that you can use to turn any

[14:54] open weight model into your own decision model, but I was kind of disappointed by the test results. On the Qwen 8 billion parameter model, the training free approach wasn’t enough to catch up with Jev. So, I’m not sold on it yet. But, those are just my thoughts on the topic. I would like to hear yours, so let me know what you think in the comment section down below. And folks, if you like these types of technical breakdowns, please let me know by smashing that like button underneath the video, and also don’t forget to subscribe to our channel. This has been

[15:25] Andrus from Better Stack, and I will see you in the next videos. >> [music]