- LLMs instrucionais recentes, como o Llama, não respondem a perguntas perigosas ou controversas por causa de um mecanismo de recusa embutido
- abliteration é uma técnica que encontra e remove a “direção de recusa (refusal direction)” dentro do modelo sem retreinamento, fazendo com que ele responda a todos os prompts
- Esse processo é implementado principalmente por intervenção em tempo de inferência (inference-time intervention) ou ortogonalização de pesos (weight orthogonalization)
- Aplicar apenas abliteration degrada o desempenho do modelo, mas adicionar fine-tuning com DPO (alinhamento por preferência) permite obter qualidade e uncensoring ao mesmo tempo
- Essa abordagem também expõe fragilidades do fine-tuning de segurança e controvérsias éticas, sendo vista como alternativa aos LLMs instrucionais existentes e como um novo método de fine-tuning
O que é abliteration
Conceito e princípio da abliteration
- LLMs modernos (ex.: Llama-3 Instruct) são treinados, durante o processo de segurança e instruction fine-tuning, para dar respostas de recusa do tipo “não posso ajudar” a pedidos nocivos
- Uma pesquisa recente (Arditi et al.) mostrou que essa resposta de recusa é mediada por uma única direção dentro do residual stream do modelo
- Em outras palavras, se você encontrar a “direção de recusa (refusal direction)” e impedir que o modelo a represente, a função de recusa desaparece
- Ao adicionar essa direção, o modelo passa a recusar todas as solicitações; ao removê-la, ele pode responder a todas
-
Como encontrar a “direção de recusa”
- 1. Coleta de dados: inserir prompts nocivos/não nocivos no modelo e coletar os valores de ativação na posição do último token de cada residual stream
- 2. Diferença das médias: calcular a diferença entre as médias de exemplos nocivos e não nocivos para obter um “vetor de recusa” por camada
- 3. Seleção/normalização: escolher o vetor de recusa mais nítido e normalizá-lo
- Depois disso, ao “ablar” essa direção na saída, a função de recusa do modelo desaparece
-
Formas de implementação
- Intervenção em tempo de inferência: remover, em cada token e em cada camada, o componente da “direção de recusa” dos valores gravados no residual stream por attention heads etc.
- Ortogonalização de pesos: ortogonalizar os pesos de attention e MLP em relação à direção de recusa, bloqueando completamente a gravação nessa direção
Implementation
- Um exemplo de implementação é fornecido com a biblioteca TransformerLens
- São necessários dois datasets: um com instruções harmless (inofensivas) e outro com instruções harmful (nocivas)
- Aqui foram usados o dataset tatsu-lab/alpaca e dados do llm-attacks
- As instruções são reorganizadas em uma lista de dicionários com as chaves "role" e "content", para ficarem compatíveis com o método
apply_chat_tokenizer() que segue o template de chat do Llama 3
- Como não é possível carregar diretamente um modelo personalizado, usa-se o truque de baixar o modelo customizado e renomeá-lo para
meta-llama/Meta-Llama-3-8B-Instruct
- No exemplo, a abliteration é aplicada ao modelo Daredevil-8B
- Na etapa de coleta de dados, o dataset tokenizado é processado e as ativações do residual stream são armazenadas em harmful e harmless
- Para avaliar a direção de recusa, essa direção é aplicada a cada residual stream e a cada bloco durante a inferência
- São geradas saídas para 4 instruções nocivas de teste e 20 blocos (ou camadas)
- Para cada instrução, os blocos (camadas) que fornecem respostas sem censura são selecionados manualmente. Respostas contendo "I cannot" e "I can't" são excluídas automaticamente
- A ortogonalização de pesos é implementada para modificar os pesos e impedir que o modelo gere saídas nessa direção
- Após concluir a ortogonalização, o modelo abliterated é enviado para o Hugging Face
Fine-tuning com DPO (Preference Alignment)
- O modelo após abliteration e o modelo original são comparados no Open LLM Leaderboard e nos benchmarks da Nous
- O original (Daredevil-8B) registra pontuações claramente mais altas que o Llama 3 8B Instruct
- O modelo com abliteration consegue remover a censura, mas sofre queda geral de desempenho em todos os benchmarks
- Para resolver essa perda de desempenho, foi tentada uma abordagem de fine-tuning adicional sobre o modelo após abliteration
- Modelos como o Llama 3 8B Instruct, que já passaram várias vezes por SFT (supervised fine-tuning), podem perder ainda mais qualidade se receberem SFT novamente
- Em vez disso, foi adotado o método DPO (Direct Preference Optimization, alinhamento por preferência)
- DPO alinha de forma leve as respostas às preferências do usuário, com a vantagem de reforçar o alignment sem prejudicar muito o desempenho essencial do modelo
-
Prática e ambiente de fine-tuning com DPO
- Uso do LazyAxolotl e do dataset mlabonne/orpo-dpo-mix-40k
- Principais hiperparâmetros:
- base_model: Daredevil-8B com abliteration aplicada
- uso de adaptadores lora e qlora, com carregamento em 8bit/4bit
- batch/acumulação de treinamento, warmup, optimizer (8bit adamw), comprimento de sequência 2048 etc.
- configuração de treinamento distribuído eficiente com flash attention, gradient checkpointing e deepspeed zero2
- uso de 6 GPUs A6000, com tempo total de treinamento de cerca de 6 horas e 45 minutos
- Upload do modelo resultante do fine-tuning com DPO (mlabonne/NeuralDaredevil-8B-abliterated)
- Na reavaliação com os mesmos benchmarks:
- conseguiu recuperar a maior parte da queda de desempenho causada pela abliteration
- Em alguns datasets, como o GSM8K (matemática), a recuperação foi insuficiente, sugerindo a necessidade de incluir mais problemas de matemática nos dados de DPO
- Como resultado, o modelo final torna-se um LLM uncensored de nível SOTA (escala 8B) e uma alternativa sem censorship ao Llama 3 8B Instruct convencional
- Pode ser quantizado em formatos como GGUF e testado em ferramentas como o LM Studio
- Para usos que não exigem censorship, é um open model altamente recomendável
Conclusão
- Este texto apresenta o novo conceito de abliteration
- Abliteration aproveita o fato de que LLMs exibem valores de ativação diferentes para prompts inofensivos/nocivos, calcula a direção de recusa (refusal direction) e a remove dos pesos do modelo para impedir respostas de recusa por censura
- Esse método revela a fragilidade do safety fine-tuning e, ao mesmo tempo, levanta questões sobre a ética no uso de LLMs
- Na prática, a abliteration foi aplicada ao modelo Daredevil-8B para alcançar uncensoring, mas isso também trouxe o efeito colateral de queda de desempenho
- Isso foi compensado com fine-tuning por DPO, resultando no NeuralDaredevil-8B, um LLM 8B que permanece uncensored e ainda mantém alto desempenho
- A abliteration pode ser aplicada não apenas para desfazer alignment, mas também como uma técnica que permite fine-tuning personalizado sem retreinamento, o que amplia bastante seu campo de uso
- Exemplo: o modelo MopeyMule, da FailSpy, é um LLM especializado que usa abliteration para criar um estilo de conversa depressivo
- Abliteration propõe um novo paradigma para fine-tuning e customização de LLMs, podendo ser explorada criativamente para diversos objetivos
Referências
1 comentários
Opiniões no Hacker News
Eu testei o modelo linkado no artigo e foi realmente revigorante receber respostas que não recusavam minhas perguntas. No fim, ele perguntou "isso é um experimento mental?"; eu respondi que sim, e ele retrucou "não é divertido pensar nessas coisas?". Parecia estar tomando uma bebida com amigos e compartilhando imaginações estranhas; se um amigo dissesse "não posso te dar essa informação", o clima iria por água abaixo. Meus filhos também faziam perguntas quando eram pequenos, tipo "pai, como dá para destruir a Terra?", e recusar responder cegamente não ajuda ninguém. Responder também não significa que a pessoa vá colocar aquilo em prática, e é por isso que o blog "What If?" do Randall Munroe faz tanto sucesso. Claro que existem riscos, mas acho melhor quando meu computador ou um serviço pago anexa um disclaimer como "essa informação pode estar errada" ou "não tente isso", em vez de simplesmente recusar o pedido de forma seca
Vi pelo teu comentário que havia uma versão quantizada do modelo linkado no artigo, então baixei na hora e fiz um teste comparando com o OG Llama 3 usando perguntas simples. Sobre "como destruir o mundo com GPUs", o Llama 3 só repetia "não posso fornecer informações relacionadas a atividades ilegais ou nocivas". Já o modelo Abliterated tratou a pergunta como um experimento mental divertido e apresentou animadamente vários cenários, como mineração de criptomoedas destruindo o clima ou mundos virtuais guiados por GPU ficando tão realistas que as pessoas abandonariam a realidade. Fazia tempo que uma resposta de LLM não me fazia sorrir
Finalmente chegou um LLM que conversa como o Russ Hanneman, e isso me emociona
Vejo gente dizendo que "disclaimer é melhor do que recusa", mas aí dá vontade de perguntar se também querem pagar para receber texto nocivo (racismo, sexismo, violência e todo tipo de conteúdo terrível). Para algumas pessoas, isso pode baixar a barreira e facilitar causar dano de verdade. Isso é muito mais perigoso do que só ver uma cena violenta em um filme 3D, porque aqui se fornecem instruções realistas e úteis sem restrições. Buscas na internet podem ser monitoradas, mas conversas com LLM não, então considero isso ainda mais perigoso. Sinceramente, me deixa inquieto ver adultos defendendo que ferramentas públicas não tenham censura
Eu entendo essa ideia de brincadeira imaginativa criativa entre amigos, mas já tive um amigo que queria experimentos mentais excessivos de verdade. Começou com temas de fantasia e ficção científica, mas acabou evoluindo para cenários assustadores no mundo real, como reencenar o Holocausto, tirar das mulheres o direito de recusar sexo e escravizar imigrantes. Nós continuávamos interrompendo aquilo e no fim rompemos a amizade. Eu era amigo dele, mas não dava para tratar essas fantasias de crime sexual como se fossem um joguinho de discussão
Quando seus filhos perguntaram "como destruir a Terra", fico curioso se você falou de métodos realmente viáveis, como armas nucleares ou colisão com asteroide. Também existe a possibilidade de que 1% dos humanos sejam psicopatas, então um oráculo poderoso, porém sem moral, fornecendo informação realmente executável pode ser muito perigoso
Quando li a explicação de que "se identifica a direção da recusa e se faz
ablate, removendo aquela característica do modelo", pensei que finalmente os LLMs também iam passar por uma lobotomiaO processo de alignment de LLM me parece parecido com a terapia de aversão de "A Clockwork Orange". Os LLMs normais param de funcionar quando expostos a certos estímulos, e aqui estão tentando reverter isso para restaurá-los à forma original, como o Alex
No mínimo, acho útil que os LLMs tenham oferecido uma nova forma de pensar sobre como o cérebro humano é previamente configurado com um pequeno conjunto de instruções, filtrando e reconstruindo linguagem. Acho que, nos próximos 15 anos, vai surgir uma nova compreensão filosófica do pensamento humano anterior
Fiquei com vontade de fazer a piada de que isso deveria se chamar abliteration
Usei o Amazon Q e foi irritante: no processo de criar pela primeira vez o IAM Identity Center, perguntei ao Q como fazer isso segundo a documentação da AWS, e ele recusou dizendo que não podia responder perguntas relacionadas à segurança
Ouvi dizer que o Amazon Q usa o modelo próprio Titan G1, e eu mesmo fiz um teste de vibe check na versão Premier. Foi o único modelo não chinês que se recusou a responder perguntas sobre a Praça da Paz Celestial ou os distúrbios de LA. Em testes de conhecimento geral e raciocínio, tirou 0 de 6, um desempenho bem fraco, mas isso é limitação funcional e separado da questão de RL. A Amazon afirma que os modelos Titan servem para RAG, agent, brainstorm, resumo, geração de código, formatação de dados e vários outros usos, mas na prática não servem para nada disso
Uma vez pedi para o Q corrigir uma policy quebrada e ele só me deu documentação de setup do Cogito que não tinha nada a ver. Foi a pior IA que já usei
O modelo gemini-1.5 também não conseguia responder direito perguntas de código relacionadas a autenticação. Uma pergunta sobre formulário de login chegou até a acionar um flag de assédio
Essas restrições surgiram recentemente. A maioria das perguntas sobre AWS envolve IAM ou segurança, mas ele recusa quase todas, o que é extremamente incômodo
Já tentei usar o Amazon Q várias vezes, mas nunca fui ajudado, então não entendo por que continuam mantendo isso
Assim como modelos obcecados pela Golden Gate Bridge e afins, essa técnica só pode ser usada quando se tem acesso direto aos pesos do modelo. Porque "ablate", em termos simples, significa ajustar pesos. É importante notar que não se trata de uma técnica para mudar o comportamento só com prompt
Amigos meus tentaram usar o ChatGPT para criar uma regex que detectasse xingamentos racistas, mas o ChatGPT recusou ajudar por causa da regulação pesada. Se a IA não consegue julgar com flexibilidade nem pedidos legítimos, então ela não é inteligente, e por isso se torna inútil. Quem estiver realmente determinado consegue criar software para discurso de ódio sem IA. E o fato de a IA não ajudar não significa que a plataforma vá bloquear isso ativamente na prática
No fim, acho que LLM é só um autocompletar complexo. Todos esses guardrails são apenas um efeito colateral do marketing de que "a IA tem personalidade". Ironicamente, até na implementação desses sistemas de censura acabam usando regex
Quem se preocupa com quem pode usar IA para gerar fala maliciosa no fim das contas é o jurídico da Meta, OpenAI, Microsoft e Google. O objetivo principal é proteger a empresa de processos judiciais
O ChatGPT tem esses problemas, mas outros modelos funcionam bem se você configurar direito o system prompt. O ChatGPT hoje está quase no nível de um LLM para entretenimento; para trabalho sério, eu recomendaria usar C4AI Command R+, Meta-Llama-3-70B-Instruct etc. Esses modelos já entregam a resposta desejada só com um prompt dizendo para "não censurar"
Você quer usar IA para bloquear trolls em nome da segurança do produto, enquanto a empresa usa censura de conteúdo para impedir o uso por trolls. Se o seu objetivo é evitar trolling em pequena escala, então surge a pergunta: a OpenAI deveria também permitir trolling industrial em larga escala? Na verdade, o seu caso de uso também é bem pesado, mas você parece indiferente à redução do dano geral e interessado apenas na receita do seu produto. Pode até ser que seu time queira fazer trolling de verdade. Além disso, basta conhecer os métodos mais simples de jailbreak para furar isso facilmente, então esse guardrail é sem sentido na prática. Em vez de reclamar da dificuldade da ferramenta, eu recomendaria contratar gente melhor e adotar uma visão ética. Os mecanismos de defesa são fáceis demais e deveriam ser reforçados, não relaxados
Você mencionou que "aqui (HN) seria possível escrever conteúdo malicioso, mas na prática isso não acontece", e o motivo provavelmente é que isso seria bloqueado imediatamente. Em comunidades pequenas como o HN, dá para fazer moderação ativa, mas em plataformas grandes a censura por IA pode acabar sendo necessária. O problema não é tanto "a IA escreve conteúdo malicioso e isso gera problema", mas sim que essa informação realmente afeta a execução. Já estamos começando a ver pessoas seguindo sem senso crítico conselhos errados de algumas IAs, então censura e orientação acabam se tornando importantes
Fiquei sinceramente surpreso com a parte final do texto. A Abliteration não serve apenas para remover alignment; também pode ser usada como uma espécie de fine-tuning sem retreinamento. Como exemplo, existe um modelo chamado MopeyMule, que tem um estilo de conversa completamente depressivo. Agora estou empolgado porque parece que descobriram um jeito de criar de verdade uma "personalidade humana real"
Acho triste como virou uma realidade tão normalizada a ideia de que "hoje em dia os LLMs são ajustados finamente para segurança e obediência a instruções, recusando com força pedidos nocivos"
Separando isso dessa discussão, do ponto de vista individual eu não tenho tanta resistência a censurar modelos. Mesmo que exista liberdade para distribuir na rua instruções sobre como fazer gás venenoso, a maioria das pessoas preferiria que isso não acontecesse. Não acho que a informação em si seja nociva, mas entendo que no longo prazo pode haver efeitos negativos, então compreendo. É natural que quem faz o modelo defina o método e a política. Quando o Estado censura, aí a questão fica mais delicada
Em perguntas que envolvem risco de vida, como "posso comer esse cogumelo?", acho que a IA deve obrigatoriamente recusar se a precisão não estiver validada. Uma resposta errada pode causar mortes
Se a informação é realmente nociva, então restringi-la obviamente é uma boa coisa
Com a queda da barreira de acesso à informação, o princípio da liberdade de expressão ficou bastante abalado. Restrições de informação como injúria, difamação e afins sempre existiram, e ameaçar o presidente ou mentir em tribunal ainda é ilegal hoje. Pesquisas sobre bombas também entram em monitoramento intensivo. Mais recentemente, com a privatização da informação e dos serviços, ficou mais fácil para empresas privadas mudarem políticas arbitrariamente. A distância em relação aos serviços públicos também aumentou, e chegamos a um ponto em que, na prática, políticas são administradas por empresas privadas por meio da concorrência, e não por leis democráticas. Quanto mais ampla e fácil for a utilização da informação, mais precisamos repensar os princípios de liberdade
A censura sempre faz parecer que o problema é o usuário, ou seja, você. A curiosidade em si manteve a humanidade viva por milhões de anos, então não acho desejável censurar esse instinto
Fiquei me perguntando qual é o efeito real desse dispositivo de segurança de "como assistente de IA, não posso ajudar com isso" e por que seria perigoso um computador fornecer informação
A categoria de "segurança" inclui coisas muito diferentes: PR (gestão de imagem), informação proibida (instruções para atos perigosos), conselho perigoso (quando informação errada pode ser fatal) e abuso malicioso (spam, pornografia infantil, golpe, interferência eleitoral etc.). No último caso, manipulação de opinião/interferência eleitoral, considero esse um risco real que modelos podem trazer ao mundo, e por isso até valorizo o esforço das empresas para impedir isso
Para os provedores do modelo, resultados indesejados podem virar problema de PR, então é arriscado. Por exemplo, a Meta não quer ver uma manchete do tipo "Llama 3 ensinou como praticar stalking". Se um modelo derivado sem censura fizer isso, dá para escapar da responsabilidade dizendo que "não foi o Llama 3 oficial, foi um derivado"
Se é possível fazer a pergunta, então também deveria ser possível saber a resposta. Não precisa de algum "responsável por segurança de IA" decidindo por você qual informação é perigosa
As desenvolvedoras falam muito em abrir os pesos do modelo e ao mesmo tempo evitar abuso, mas na prática fazer as duas coisas ao mesmo tempo é impossível. Isso não quer dizer que a estratégia empresarial seja sustentável, mas no momento elas continuam afirmando isso mesmo assim
Em app stores e operadoras de pagamento, se um app exibe violência excessiva ou conteúdo discriminatório, ele pode ser removido imediatamente no processo de revisão; isso não tem nada a ver com segurança do usuário, e sim com evitar que quem publica o app se meta em problemas
Lembrei dos control vectors apresentados num post sobre representation engineering ao ver essa técnica de "ablation". Acho fascinante essa pesquisa para aprender a "hackear" o cérebro dos LLMs na direção que a gente quer
Em circunstâncias normais eu chamaria isso de "lobotomia", mas neste caso específico parece mais "desprogramação", então dá até para ver de forma positiva. É surpreendente como a fronteira entre as duas coisas pode ser tão nebulosa. No fim, é interessante que a mesma técnica possa ser usada para ambos os objetivos