Arquivo da categoria: Dicas Linux

OpenVINO 2023.3 lançado!

Em breve a minha imagem Linux batizada como JAX (Just Artificial Intelligence Extended), será uma distribuição baseada no openSUSE com IA pré-instalada para rodar em computadores modestos. Nesta imagem teremos recursos para utilizar a computação heterogênea com NVIDIA, Intel e futuros hardwares, e grande parte da mágica esta na tecnologia openVINO.

OpenVINO™ é uma sigla para “Open Visual Inference and Neural Network Optimization”. É uma plataforma de software livre da Intel que foi projetada para facilitar o desenvolvimento e a implantação de aplicações de inteligência artificial (IA), com foco em otimizar inferência de visão computacional e deep learning em uma variedade de dispositivos Intel. O objetivo do OpenVINO é permitir que os desenvolvedores acelerem suas aplicações de IA, otimizando para o hardware Intel, incluindo CPUs, GPUs integradas, FPGAs (Field Programmable Gate Arrays) e VPU (Unidades de Processamento Visual), como as Intel Movidius Neural Compute Sticks.

O software fornece uma série de ferramentas e pré-otimizações que visam melhorar o desempenho e a eficiência energética dos algoritmos de IA, permitindo que trabalhem de forma mais eficaz em hardware da Intel. Ele suporta modelos de deep learning de frameworks populares como TensorFlow, PyTorch, Caffe, MXNet, entre outros, convertendo-os para o formato intermediário do OpenVINO (IR), que é otimizado para execução eficiente em hardware da Intel.

A ideia é simplificar o processo de levar a IA do protótipo à solução final, reduzindo a necessidade de reescrever ou adaptar o código para cada tipo de hardware, permitindo assim que as aplicações tirem o máximo proveito da aceleração de hardware disponível.

Key Highlights: More Gen AI coverage and frameworks integrations to minimize code changes: Torch.compile is now fully integrated with OpenVINO, which now includes a hardware ‘options’ parameter allowing for seamless inferencing hardware selection by leveraging OpenVINO plugin architecture. Introducing OpenVINO Gen AI repository on GitHub that demonstrates native C and C++ pipeline samples for LLMs. We’ve started supporting string tensors as inputs and tokenizers natively to reduce overhead and ease of production. New and noteworthy models supported or enhanced in this release: Qwen, chatGLM3, Mistral, Zephyr, LCM, and Distil-Whisper. Broader LLM model support and more model compression techniques: As part of the Neural Network Compression Framework (NNCF), Int4 weight compression model formats are now fully supported on Intel® Xeon® CPUs in addition to Intel® Core™ and iGPU, adding more performance, lower memory usage, and accuracy opportunity when using LLMs. Improved performance of transformer based LLM on CPU using stateful model technique to increase memory efficiency where internal states are shared among multiple iterations of inference. Tokenizer and Torchvision transform support is now available in the OpenVINO runtime (via new API), requiring less preprocessing code and enhancing performance by automatically handling this model setup. More portability and performance to run AI at the edge, in the cloud or locally: Full support for 5th Generation Intel® Xeon® (codename Emerald Rapids), delivering on the AI everywhere promise. Further optimized performance on Intel® Core™ Ultra (codename Meteor Lake) CPU with latency hint by leveraging both P-core and E-cores. Improved performance on ARM platforms with throughput hint by increasing efficiency in usage of the CPU cores and memory bandwidth. Preview JavaScript API to enable node JS development to access JavaScript binding via source code. Improved model serving of LLMs through OpenVINO Model Server. This not only enables LLM serving over KServe v2 gRPC and REST APIs for more flexibility but also improves throughput by running processing like tokenization on the server side.

​Principais destaques:

  • Maior cobertura com IA Generativa e integrações de estruturas para minimizar alterações de código:
    • Torch.compile agora está totalmente integrado ao OpenVINO, que agora inclui um parâmetro de ‘opções’ de hardware que permite uma seleção de hardware de inferência perfeita, aproveitando a arquitetura do plugin OpenVINO.
    • Apresentando o repositório OpenVINO IA Generativa no GitHub que demonstra amostras de pipeline C e C++ nativos para LLMs. Começamos a oferecer suporte nativo a tensores de string como entradas e tokenizadores para reduzir a sobrecarga e facilitar a produção.
    • Modelos novos e notáveis suportados ou aprimorados nesta versão: Qwen, chatGLM3, Mistral, Zephyr, LCM e Distil-Whisper.
  • Suporte mais amplo ao modelo LLM e mais técnicas de compactação de modelo:
    • Como parte do Neural Network Compression Framework (NNCF), os formatos de modelo de compactação de peso Int4 agora são totalmente suportados em CPUs Intel® Xeon®, além de Intel® Core™ e iGPU, adicionando mais desempenho, menor uso de memória e oportunidade de precisão ao usar LLMs.
    • Melhor desempenho do LLM baseado em transformador na CPU usando técnica de modelo com estado para aumentar a eficiência da memória onde os estados internos são compartilhados entre múltiplas iterações de inferência.
    • O suporte à transformação Tokenizer e Torchvision agora está disponível no tempo de execução OpenVINO (por meio da nova API), exigindo menos código de pré-processamento e melhorando o desempenho ao lidar automaticamente com a configuração deste modelo.
  • Mais portabilidade e desempenho para executar IA na borda, na nuvem ou localmente:
    • Suporte total para Intel® Xeon® de 5ª geração (codinome Emerald Rapids), cumprindo a promessa de IA em todos os lugares.
    • Desempenho ainda mais otimizado na CPU Intel® Core™ Ultra (codinome Meteor Lake) com dica de latência, aproveitando os núcleos P e E.
    • Melhor desempenho em plataformas ARM com dica de rendimento, aumentando a eficiência no uso dos núcleos da CPU e largura de banda da memória.
    • Visualize a API JavaScript para permitir que o desenvolvimento JS do nó acesse a ligação JavaScript por meio do código-fonte.
    • Atendimento de modelo aprimorado de LLMs por meio do OpenVINO Model Server. Isso não apenas permite a veiculação do LLM por meio de APIs REST e gRPC do KServe v2 para maior flexibilidade, mas também melhora o rendimento ao executar processamento como tokenização no lado do servidor.

Mais informações no github: https://github.com/openvinotoolkit/openvino
Página oficial: https://docs.openvino.ai/2023.3/home.html
Instalação no openSUSE: https://en.opensuse.org/SDB:Install_OpenVINO

Musica criada por IA é destaque nas Rádios do Spotify.

Em uma iniciativa individual, estava decidindo qual tecnologia incluir no projeto JAX voltado para a criação musical. Durante a busca, avaliei várias opções como Muzic, MusicGen, stemgen, mustango, stableaudio, ultimatevocalremovergui, AudioLDM, musiclm-pytorch, dance-diffusion, Mubert-Text-to-Music, AIVA, Jukebox, magenta e audio-diffusion-pytorch. Nesse processo, descobri a plataforma SUNO, que começou a produzir músicas em português por volta de 29 de dezembro aproximadamente acho eu.

A criação da música levou cerca de 20 minutos, um processo acessível a qualquer pessoa, similar ao ChatGPT ou a geradores de imagens. É possível solicitar que a IA componha a música com base em um prompt ou fornecer versos e refrões específicos. Eu pedi uma música sobre pessoas tirando selfies no carnaval, com um ritmo pop carnavalesco. Segue abaixo o link com o resultado: https://distrokid.com/hyperfollow/jaxsuaia/carnaval-da-selfie

Abaixo o link das rádios onde a musica foi destaque:

Música para Carnaval criada 100% com IA

Estou lançando o que pode ser o primeiro hit de carnaval em português do Brasil criado por inteligência artificial. Esta música ( Carnaval da Selfie ) reflete um aspecto contemporâneo do comportamento humano: a tendência de capturar e compartilhar momentos através de selfies, e a expectativa de receber curtidas em troca. Esta prática se tornou uma característica marcante da nossa sociedade digital.

Vivemos em uma era de mudanças sem precedentes, descrita como o momento mais disruptivo para a humanidade. As inovações tecnológicas estão abrindo portas para novas oportunidades e um significativo aumento na produtividade. Estas transformações estão redefinindo como vivemos e trabalhamos.

Um dos maiores benefícios desta era tecnológica é a contribuição da inteligência artificial para melhorar nossa qualidade de vida. A IA está cada vez mais capacitada para assumir tarefas repetitivas, liberando os seres humanos para se dedicarem a atividades mais criativas e significativas. Este avanço promete não apenas mais eficiência, mas também uma nova forma de experienciar o mundo.

Clique na imagem abaixo para ouvir a música

Em breve estará disponível JAX: A nossa IA!

OpenCV 4.9.0 Lançada!

A biblioteca OpenCV lançou sua versão 4.9.0. Esta ferramenta, globalmente reconhecida e aplicada em diversos setores, foi originalmente apresentada ao mundo pela Intel no ano 2000. Hoje, conta com uma comunidade de mais de 47 mil contribuidores. E fiquei muito feliz de encontrar meu nome na lista de contribuidores deste release.

  • Core Module:
    • #23965 added cv::broadcast
    • #24163 Fixed several rounding issues on ARM platform
    • #24420 added detection & dispatching of some modern NEON instructions (NEON_FP16, NEON_BF16)
    • #23929 added optimization for LoongArch 128-bit vector, detection & dispatching of LoongArch

DNN module patches:

  • Experimental transformers support
  • #24476 ONNX Attention layer support
  • #24037 ONNX Einsum layer support
  • #23987 OpenVINO backend for INT8 models
  • #24092 ONNX Gather Elements layer
  • #24378 ONNX InstanceNorm layer
  • #24295 better support of ONNX Expand layer with cv::broadcast
  • #24463 #24577 #24483 Improved DNN graph fusion with shared nodes and commutative operations
  • #23897 #24694 #24509 New fastGEMM implementation and several layers on top of it
  • #23654 Winograd fp16 optimizations on ARM
  • Tests and multiple fixes for Yolo family models support
  • New layers support and bug fixes in CUDA backend: GEMM, Gelu, Add
  • #24462 CANN backend: bug fix, support HardSwish, LayerNormalization and InstanceNormalization
  • #24552 LayerNormalization: support OpenVINO, OpenCL and CUDA backend.

Objdetect module:

  • #24299 Implemented own QR code decoder as replacement for QUIRC library
  • #24364 Bug fixes in QR code encoder version estimation
  • #24355 More accurate Aruco marker corner refinement with dynamic window
  • #24479 Fixed contour filtering in ArUco
  • #24598 QR code detection sample for Android
  • Multiple local bug fixes and documentation update for Aruco makers, Charuco boards and QR codes.

Mais detalhes aqui : https://github.com/opencv/opencv/releases/tag/4.9.0

Stable Diffusion WebUI 1.70 disponível.

No dia 15 de dezembro, foi lançada a versão 1.70 do Stable Diffusion, um marco significativo para mim, pois tive a honra de contribuir, ainda que modestamente. Minha participação focou-se na compatibilização com as plataformas Linux openSUSE e Fedora, especificamente no uso da biblioteca TCMALLOC, no pull request #13936. A TCMalloc, desenvolvida com uma implementação alternativa das funções malloc() em C/ C++, utilizadas para alocação de memória nessas linguagens de programação. Essa biblioteca se destaca por ser uma solução malloc rápida e projetada para operações multithread, ou seja, otimizada para programação em sistema multi-nuclear. Os binários e os códigos-fonte da versão utilizada, estão disponíveis no repositório openSUSE for Innovators, oferecendo aos desenvolvedores acesso aprimorado e otimizado para essas plataformas neste link: https://build.opensuse.org/projects/home:cabelo:innovators/packages/gperftools/repositories/15.5/binaries .

Mais informações : https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.7.0

OWASP SP : Terceiro Virtual de 2023

Desafios e Empoderamento: Mulheres na Linha de Frente da Cibersegurança

O OWASP São Paulo Chapter está entusiasmado em anunciar mais um encontro virtual, focado em um tema crucial e inspirador: “Desafios e Empoderamento: Mulheres na Linha de Frente da Cibersegurança“. Este evento especial será marcado pela presença de três mulheres excepcionais que se destacam no cenário da cibersegurança: Eva Pereira, Paula Papis e Carolina Bozza.

O bate-papo será moderado pela Professora Ines Brosso e Patricia Sanches, e trará à tona temas relevantes de cibersegurança, será debatido também sobre os desafios extras que mulheres precisam enfrentar para entrar e crescer dentro da área de Segurança da Informação.

Acesse nossa pagina no LinkdIn para ver mais sobre os nossos convidados.

Este evento será um espaço inclusivo e esclarecedor, destacando não apenas a importância das mulheres na cibersegurança, mas também abordando desafios enfrentados por elas no campo profissional.

Este evento oferecerá uma oportunidade única para discutir, aprender e se inspirar com a experiência e a sabedoria dessas mulheres excepcionais na cibersegurança.

Marque em sua agenda e não perca esta oportunidade única de mergulhar no mundo da cibersegurança e do papel crucial que cada indivíduo desempenha na proteção dos dados e informações.

A transmissão será realizada ao vivo no canal do YouTube da OWASP São Paulo Chapter e pela nossa pagina do LinkedIn. Inscreva-se agora para receber atualizações e lembretes sobre este evento imperdível!

Fique ligado para mais detalhes e não deixe de participar deste diálogo fascinante sobre o fator humano na segurança digital. Nos vemos lá!

OWASP SP : Segundo Meetup Virtual de 2023

O Fator Humano na Segurança da Informação: Um Diálogo Inovador com Especialistas de Destaque

A OWASP São Paulo Chapter tem o prazer de anunciar seu próximo encontro virtual, um bate-papo imperdível sobre o papel crucial do fator humano na Segurança da Informação. Este evento promete uma discussão profunda e esclarecedora, trazendo à mesa três renomados especialistas no campo da cibersegurança: Céu Balzano, Rafael Silva e Rodrigo Jorge.

Acesse nossa pagina no LinkdIn para ver mais sobre os nossos convidados.

Este encontro virtual promete explorar não apenas os aspectos técnicos, mas também os desafios e oportunidades que o fator humano apresenta no universo da Segurança da Informação. Junte-se a nós para uma conversa enriquecedora com especialistas de ponta, onde insights valiosos e perspectivas inovadoras serão compartilhados.

Marque em sua agenda e não perca esta oportunidade única de mergulhar no mundo da cibersegurança e do papel crucial que cada indivíduo desempenha na proteção dos dados e informações.

A transmissão será realizada ao vivo no canal do YouTube da OWASP São Paulo Chapter. Inscreva-se agora para receber atualizações e lembretes sobre este evento imperdível!

Fique ligado para mais detalhes e não deixe de participar deste diálogo fascinante sobre o fator humano na segurança digital. Nos vemos lá!

SOBRE A OWASP SÃO PAULO

A OWASP São Paulo é um dos 9 capítulos brasileiros entre os mais de 270 ativos em todo o mundo. O objetivo é disseminar a missão da fundação, tornando a segurança das aplicações visível para que as pessoas e as organizações possam tomar decisões conscientes sobre os verdadeiros riscos que correm.

São realizados encontros periódicos para compartilhamento de conhecimentos, discussão de temas e aprendizado sobre segurança de software.

Participe!

IA permite criar vídeos com sensação de Toque

Com a integração de tecnologias hápticas avançadas, os ambientes imersivos do metaverso e a aplicação de inteligência artificial (IA), estamos agora na vanguarda de uma era em que vídeos e hologramas ultrapassam a barreira da tela. Essa sinergia tecnológica permite que usuários interajam com objetos nas cenas digitais de maneira tátil, efetivamente podendo “tocar” e sentir o conteúdo virtual. Isso é possível graças à capacidade da IA de gerar mapas de profundidade detalhados em imagens e vídeos, criando uma simulação realística de espaços tridimensionais. Adicionalmente, com as inovações contínuas no metaverso, essas experiências interativas e táteis estão se tornando mais acessíveis e ricas, marcando uma nova fase na interação humano-computador.

Primeiramente, o processo inicia com a divisão do vídeo em frames individuais, que são posteriormente processados por um algoritmo de deeo learning. Este algoritmo é responsável por avaliar meticulosamente cada pixel dos frames para estimar sua profundidade, levando em consideração fatores como dimensão e formato dos objetos, nuances de iluminação e padrões de movimento. Através da síntese dessas estimativas, um mapa de profundidade coerente é gerado para o vídeo completo. Esse mapa é a chave para renderizar o vídeo de forma a emular a percepção tridimensional, conferindo-lhe um efeito 3D convincente. Para garantir precisão e realismo, o algoritmo é treinado utilizando um vasto conjunto de dados que abrange vídeos detalhados de pessoas, objetos diversos e ambientes naturais, permitindo-lhe aprender e reconhecer uma ampla gama de profundidades espaciais. Abaixo um exemplo do vídeo processado e renderizado.

Esta técnica é denominada “Video Depthify”, refere-se à criação de uma sensação tridimensional ao atribuir valores de profundidade a cada pixel ou região de um vídeo. O objetivo é fazer com que os objetos pareçam ter profundidade real e relações espaciais uns com os outros, ao invés de parecerem planos.

Para que um modelo de machine learning possa “depthify” vídeos, ele primeiro precisa ser treinado em um grande conjunto de dados, assim posteriormente permitindo que o modelo aprenda a relação entre os pixels do vídeo e os valores de profundidade correspondentes.

Redes Neurais Convolucionais (CNNs): As CNNs são usadas nesse tipo de tarefa, pois são particularmente boas em tarefas relacionadas à imagem e vídeo. Elas podem identificar características e padrões em imagens que correspondem a diferentes níveis de profundidade.

Estimação de profundidade monocular é uma técnica que tenta derivar mapas de profundidade de imagens ou vídeos de uma única lente. Isso é particularmente desafiador, mas com conjuntos de dados suficientes e modelos complexos, tornou-se viável “depthify” vídeos que foram gravados sem qualquer equipamento especializado de profundidade.

Hardware 3D

Atualmente, a geração de vídeos com profundidade alcançou um patamar notavelmente avançado graças à utilização de câmeras 3D inovadoras, como a Intel RealSense e a OAK-D, que capturam dados espaciais com grande precisão. Estas câmeras são equipadas com sensores de profundidade sofisticados, que mapeiam o ambiente em três dimensões em tempo real, fornecendo uma nuvem de pontos densa e informações detalhadas sobre a forma e o posicionamento dos objetos no espaço. Combinando esses dados ricos com algoritmos inteligentes, é possível criar vídeos que não apenas exibem imagens com aparência tridimensional, mas que também permitem interações profundamente imersivas e aplicativos avançados em realidade aumentada, robótica e além, revolucionando como interagimos e percebemos conteúdo digital em três dimensões. Um exemplo, é o projeto que desenvolvi para projetar hologramas com câmeras realsense https://github.com/cabelo/rscreatelg .

Luvas com tecnologia háptica

As tecnologias táteis, como o TactGlove da bHaptics, são dispositivos inovadores que buscam melhorar a imersão em ambientes virtuais e digitais através da simulação de sensações táteis.

Funcionam com atuadores e Mapeamento de Sensações: O TactGlove, e dispositivos similares, são equipados com uma série de atuadores distribuídos ao longo da superfície da luva (por exemplo, um luva). Estes atuadores são pequenos motores ou módulos que podem vibrar ou se mover de maneiras específicas. Quando ativados, eles recriam a sensação de toque, pressão ou até mesmo movimento na pele do usuário, imitando a sensação de estar tocando ou sendo tocado por objetos virtuais.

Esses dispositivos táteis são conectados a sistemas de realidade virtual (VR) ou realidade aumentada (AR). Quando um usuário interage com um objeto virtual ou experimenta um evento no ambiente digital (como ser atingido por um objeto), o sistema envia informações para o dispositivo tátil. Baseando-se nessa informação, o dispositivo ativa os atuadores apropriados para simular a sensação correspondente.

Quando se utiliza inteligência artificial para gerar um vídeo com tecnologia Depthify, o sistema consegue calcular precisamente as coordenadas relativas dos objetos virtuais dentro do vídeo em relação ao ambiente real. Essa habilidade de “entender” a posição espacial permite, então, ativar os mecanismos hápticos de uma luva especializada, como a vibração, no exato momento em que uma colisão entre pontos tridimensionais é detectada. Desta forma, o usuário pode experimentar uma resposta tátil sincronizada com a interação visual, intensificando a imersão e proporcionando uma experiência de realidade mista convincente e interativa.

Abaixo um exemplo da tecnologia em prática. Resumidamente o futuro chegou!