1 pontos por GN⁺ 2024-04-19 | 1 comentários | Compartilhar no WhatsApp

O que é Effort?

  • Effort se refere à energia, ao tempo e aos recursos investidos para realizar uma tarefa ou alcançar um objetivo
  • Isso significa o esforço e a dedicação necessários para superar obstáculos ou obter o resultado desejado
  • Effort pode ser físico ou mental
    • esforço físico, como a energia usada para levantar objetos pesados ou correr uma maratona
    • esforço mental, como a concentração e a força mental necessárias para resolver problemas complexos ou aprender novas habilidades
  • É um elemento essencial para alcançar o sucesso em diversas áreas da vida, como crescimento pessoal, trabalho e educação

Opinião do GN⁺

  • Effort não é apenas a quantidade de tempo ou energia investida, mas um conceito em que diversos fatores atuam em conjunto, como persistência, foco e motivação. Portanto, mesmo se esforçando bastante, o sucesso não é necessariamente garantido
  • Especialmente em tarefas que exigem Effort mental, é preciso tomar cuidado para não cair em burnout. É importante encontrar formas de sustentar o Effort por meio de descanso adequado e recompensas
  • A forma de aplicar Effort pode variar de pessoa para pessoa. Alguns conseguem se concentrar intensamente por curtos períodos, enquanto outros conseguem manter o Effort de forma constante no longo prazo. Encontrar o método que funciona melhor para você é o mais eficaz

1 comentários

 
GN⁺ 2024-04-19
Comentários do Hacker News
  • O algoritmo faz a poda de parâmetros em tempo real e torna a matriz de pesos esparsa ao definir como 0 os pesos com menor valor absoluto dentro de cada grupo
  • Ao pesquisar sobre poda de modelos, aparecem muitos artigos discutindo "poda baseada em magnitude" como linha de base
    • Mas esses artigos implementam a linha de base de forma péssima para exagerar o próprio método e usam muitos termos matemáticos para explicá-lo
    • Já o post original do blog explica o método de um jeito fácil de entender, mesmo para quem quase não tem conhecimento prévio
  • Uma linha da seção de implementação em GPU chamou atenção
    • "Quem é iniciante em programação de GPU vai perguntar 'como isso funciona?', e quem é experiente vai perguntar 'como diabos isso funciona?'"
  • Inverter a matriz, ordenar os elementos por linha e depois reexaminar a multiplicação nessa direção é chamado de formato "compressed sparse row (CSR)"
    • Para executar a multiplicação, o processo seria algo como pegar o 1 do vetor, multiplicá-lo por 256 e então somá-lo à terceira linha do vetor de saída
    • A proposta é ver o que acontece ao cortar a última coluna, que contém os menores valores
  • Sugestão de nome para a ideia: "lobotomize"
  • Isso parece semelhante à esparsidade semiestruturada (2:4), então vale a pena comparar explicitamente
    • Esta técnica é otimizada para Apple Silicon, é ~2x mais rápida com 75% de esparsidade, é dinâmica e depende da entrada, é aplicada em tempo de execução e permite escolher o grau de esparsidade
    • Já a esparsidade semiestruturada 2:4 é otimizada para GPUs com sparse tensor cores, é ~2x mais rápida com 50% de esparsidade, é estática, é aplicada quando o modelo está ocioso e, ao que parece, teria resultados piores que esta técnica com 50% de esparsidade
    • Seria interessante comparar os resultados da esparsidade semiestruturada com 50% de esparsidade (ganho de velocidade de 2x) com os resultados desta técnica com 75% de esparsidade (ganho de velocidade de 2x)
  • Pela minha experiência usando CSR, isso não é surpreendente, e alguns formatos mais novos como block ELL, embora tenham código mais complicado, podem ter mais afinidade com o hardware por evitarem leituras/coletas não ordenadas
  • A latência de 15 ms parece semelhante ao vsync de 60 Hz (16,7 ms), então se a tela for atualizada uma vez por token, algum tipo de sincronização pode acabar acontecendo
  • Obrigado por essa contribuição tão legal e aberta. Vou acompanhar de perto a implementação disso no llama.cpp. Eu estava procurando formas de acelerar inferência em CPU, e gostei dessa ideia de "effort"
  • Texto excelente! Fiquei muito curioso sobre o desempenho por VRAM em comparação com quantização. Há planos de implementar uma versão cross-platform?
  • Isso parece estar relacionado a https://arxiv.org/abs/2312.12456 e https://github.com/SJTU-IPADS/PowerInfer