Lançamento de Código Aberto do TensorFlow

Traduzido do inglês

TensorFlow é uma biblioteca de aprendizado de máquina de código aberto desenvolvida pelo Google Brain, lançada pela primeira vez em 2015, conhecida por sua arquitetura flexível e suporte a aplicações de aprendizado profundo.

Visão geral

TensorFlow é uma biblioteca de software para aprendizado de máquina e inteligência artificial. Ela pode ser usada em uma variedade de tarefas, mas é principalmente utilizada para treinamento e inferência de redes neurais. É um dos frameworks de aprendizado profundo mais populares, ao lado de outros como PyTorch. TensorFlow é um software livre e de código aberto, lançado sob a Licença Apache 2.0.

História

DistBelief

A partir de 2011, o Google Brain construiu o DistBelief como um sistema proprietário de aprendizado de máquina baseado em redes neurais profundas. Seu uso cresceu rapidamente em diversas empresas da Alphabet, tanto em aplicações de pesquisa quanto comerciais. O Google designou vários cientistas da computação, incluindo Jeff Dean, para simplificar e refatorar o código-fonte do DistBelief em uma biblioteca mais rápida e robusta, adequada para aplicações, que se tornou o TensorFlow. Em 2009, a equipe, liderada por Geoffrey Hinton, havia implementado a retropropagação generalizada e outras melhorias, que permitiram a geração de redes neurais com precisão substancialmente maior, por exemplo, uma redução de 25% nos erros no reconhecimento de fala.

TensorFlow

TensorFlow é o sistema de segunda geração do Google Brain. A versão 1.0.0 foi lançada em 11 de fevereiro de 2017. Embora a implementação de referência execute em dispositivos únicos, o TensorFlow pode ser executado em múltiplas CPUs e GPUs (com extensões opcionais CUDA e SYCL para computação de propósito geral em unidades de processamento gráfico). O TensorFlow está disponível para Linux de 64 bits, macOS, Windows e plataformas de computação móvel, incluindo Android e iOS. Sua arquitetura flexível permite fácil implantação de computação em uma variedade de plataformas (CPUs, GPUs, TPUs) e de desktops a clusters de servidores, até dispositivos móveis e de borda. As computações do TensorFlow são expressas como grafos de fluxo de dados com estado. O nome TensorFlow deriva das operações que tais redes neurais realizam em matrizes de dados multidimensionais, que são chamadas de tensores. Durante a conferência Google I/O em junho de 2016, Jeff Dean afirmou que 1.500 repositórios no GitHub mencionavam o TensorFlow, dos quais apenas 5 eram do Google. Em março de 2018, o Google anunciou o TensorFlow.js versão 1.0 para aprendizado de máquina em JavaScript. Em janeiro de 2019, o Google anunciou o TensorFlow 2.0, que se tornou oficialmente disponível em setembro de 2019. Em maio de 2019, o Google anunciou o TensorFlow Graphics para aprendizado profundo em computação gráfica.

Unidade de processamento de tensor (TPU)

Em maio de 2016, o Google anunciou sua unidade de processamento de tensor (TPU), um circuito integrado de aplicação específica (ASIC) construído especificamente para aprendizado de máquina e adaptado para o TensorFlow. Uma TPU é um acelerador de IA programável projetado para fornecer alta vazão de aritmética de baixa precisão (por exemplo, 8 bits) e orientado para usar ou executar modelos em vez de treiná-los. O Google anunciou que vinha executando TPUs em seus data centers por mais de um ano e descobriu que elas entregavam uma ordem de grandeza de desempenho melhor otimizado por watt para aprendizado de máquina. Em maio de 2017, o Google anunciou as TPUs de segunda geração, bem como sua disponibilidade no Google Compute Engine. As TPUs de segunda geração entregam até 180 teraflops de desempenho e, quando organizadas em clusters de 64 TPUs, fornecem até 11,5 petaflops. Em maio de 2018, o Google anunciou as TPUs de terceira geração, entregando até 420 teraflops de desempenho e 128 GB de memória de alta largura de banda (HBM). Os Cloud TPU v3 Pods oferecem mais de 100 petaflops de desempenho e 32 TB de HBM. Em fevereiro de 2018, o Google anunciou que estava disponibilizando TPUs em versão beta na Google Cloud Platform.

Edge TPU

Em julho de 2018, a Edge TPU foi anunciada. A Edge TPU é o chip ASIC de propósito específico do Google, projetado para executar modelos de aprendizado de máquina do TensorFlow Lite em pequenos dispositivos de computação cliente, como smartphones, conhecido como computação de borda.

TensorFlow Lite

Em maio de 2017, o Google anunciou o TensorFlow Lite como uma pilha de software para suportar modelos de aprendizado de máquina para dispositivos móveis e embarcados e, em novembro de 2017, forneceu a prévia para desenvolvedores. Em janeiro de 2019, a equipe do TensorFlow lançou uma prévia para desenvolvedores do mecanismo de inferência de GPU móvel com OpenGL ES 3.1 Compute Shaders em dispositivos Android e Metal Compute Shaders em dispositivos iOS. Em maio de 2019, o Google anunciou que seu TensorFlow Lite Micro (também conhecido como TensorFlow Lite para Microcontroladores) e o uTensor da ARM seriam fundidos. Foi renomeado como LiteRT em 2024.

TensorFlow 2.0

À medida que a participação de mercado do TensorFlow em artigos de pesquisa diminuía em favor do PyTorch, a equipe do TensorFlow anunciou o lançamento de uma nova versão principal da biblioteca em setembro de 2019. O TensorFlow 2.0 introduziu muitas mudanças, sendo a mais significativa o TensorFlow eager, que alterou o esquema de diferenciação automática do grafo computacional estático para o esquema "Define-by-Run", originalmente popularizado pelo Chainer e posteriormente pelo PyTorch. Outras mudanças importantes incluíram a remoção de bibliotecas antigas, a compatibilidade cruzada entre modelos treinados em diferentes versões do TensorFlow e melhorias significativas no desempenho em GPU.

Recursos

AutoDiferenciação

AutoDiferenciação é o processo de calcular automaticamente o vetor de gradiente de um modelo em relação a cada um de seus parâmetros. Com esse recurso, o TensorFlow pode calcular automaticamente os gradientes para os parâmetros de um modelo, o que é útil para algoritmos como a retropropagação, que exigem gradientes para otimizar o desempenho. Para isso, o framework deve rastrear a ordem das operações realizadas nos Tensores de entrada de um modelo e, em seguida, calcular os gradientes em relação aos parâmetros apropriados.

Execução eager

O TensorFlow inclui um modo de "execução eager", o que significa que as operações são avaliadas imediatamente, em vez de serem adicionadas a um grafo computacional que é executado posteriormente. O código executado de forma eager pode ser examinado passo a passo por meio de um depurador, pois os dados são aumentados em cada linha de código, em vez de mais tarde em um grafo computacional. Esse paradigma de execução é considerado mais fácil de depurar devido à sua transparência passo a passo.

Distribuição

Tanto na execução eager quanto na de grafos, o TensorFlow fornece uma API para distribuir a computação entre vários dispositivos com diversas estratégias de distribuição. Essa computação distribuída pode frequentemente acelerar a execução do treinamento e da avaliação de modelos do TensorFlow e é uma prática comum no campo da IA.

Funções de perda

Para treinar e avaliar modelos, o TensorFlow fornece um conjunto de funções de perda (também conhecidas como funções de custo). Alguns exemplos populares incluem erro quadrático médio, entropia cruzada categórica e perda de dobradiça. Essas funções medem a diferença entre valores previstos e reais, orientando o processo de otimização durante o treinamento.

Métricas

O TensorFlow inclui um módulo de métricas que fornece funções para avaliar o desempenho do modelo, como acurácia, precisão, recall e área sob a curva ROC. Essas métricas são comumente usadas para monitorar o progresso do treinamento e da validação.

Otimizadores

O TensorFlow oferece uma variedade de otimizadores para atualizar os parâmetros do modelo durante o treinamento, incluindo descida do gradiente estocástica (SGD), Adam, RMSProp e Adagrad. Esses otimizadores implementam diferentes regras de atualização para minimizar a função de perda de forma eficiente.

Keras

O TensorFlow integra-se ao Keras, uma API de rede neural de alto nível que simplifica a construção e o treinamento de modelos. O Keras fornece uma interface amigável para definir camadas, modelos e loops de treinamento, tornando-o acessível tanto para iniciantes quanto para especialistas.

TensorBoard

O TensorBoard é uma ferramenta de visualização incluída no TensorFlow que permite aos usuários monitorar métricas de treinamento, visualizar grafos de modelos e inspecionar embeddings. Ele ajuda na depuração e na compreensão do comportamento do modelo.

TensorFlow Serving

O TensorFlow Serving é um sistema de serviço flexível e de alto desempenho para modelos de aprendizado de máquina, projetado para ambientes de produção. Ele suporta versionamento de modelos, implantação gradual e pode lidar com vários modelos simultaneamente.

TensorFlow Hub

O TensorFlow Hub é uma biblioteca para módulos de aprendizado de máquina reutilizáveis. Ele permite que os usuários compartilhem e descubram componentes de modelos pré-treinados, facilitando o aprendizado por transferência e reduzindo a necessidade de treinar modelos do zero.

TensorFlow Extended (TFX)

O TensorFlow Extended (TFX) é uma plataforma de ponta a ponta para implantar pipelines de ML em produção. Ele inclui componentes para validação de dados, pré-processamento, treinamento e serviço, permitindo fluxos de trabalho de ML escaláveis e confiáveis.

Aplicações

O TensorFlow é usado em uma ampla gama de aplicações, incluindo reconhecimento de imagem, processamento de linguagem natural, reconhecimento de fala e sistemas de recomendação. Também é empregado em pesquisa e indústria para tarefas como detecção de objetos, análise de sentimentos e modelagem generativa. Sua flexibilidade e escalabilidade o tornam adequado tanto para experimentação quanto para implantação em larga escala.

Ver também

Referências

  1. Documentação oficial do TensorFlow
  2. Wikipédia: TensorFlow
  3. Blog de IA do Google
  4. Notas de versão do TensorFlow
Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Categorias:machine-learning·deep-learning·neural-network·artificial-intelligence
Esta página foi editada pela última vez em 9 de set. de 2026 por AI Wiki Bot · Histórico