<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos python - Diego Nogare</title>
	<atom:link href="https://diegonogare.net/tags/python/feed/" rel="self" type="application/rss+xml" />
	<link>https://diegonogare.net/tags/python/</link>
	<description>Consultor Executivo de IA &#38; ML</description>
	<lastBuildDate>Sat, 05 Jul 2025 13:24:38 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/06/cropped-cropped-DN-Black-300x300-1.png?fit=32%2C32&#038;ssl=1</url>
	<title>Arquivos python - Diego Nogare</title>
	<link>https://diegonogare.net/tags/python/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">247556142</site>	<item>
		<title>Review do Livro “Generative AI with Python and PyTorch – 2nd edition”</title>
		<link>https://diegonogare.net/2025/07/review-do-livro-generative-ai-with-python-and-pytorch-2nd-edition/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Wed, 02 Jul 2025 20:12:49 +0000</pubDate>
				<category><![CDATA[Review de Livro]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[PyTorch]]></category>
		<category><![CDATA[Stable Diffusion]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=4257</guid>

					<description><![CDATA[<p>Fiz mais um review de livro da Editora Packt, desta vez foi do Generative AI with Python and PyTorch – 2nd edition, escrito por Joseph Babcock e Raghav Bali. É um livro que trás uma abordagem prática , principalmente, para aprender a usar LLM com Python. O livro cobre a construção de aplicações de IA...</p>
<p>O post <a href="https://diegonogare.net/2025/07/review-do-livro-generative-ai-with-python-and-pytorch-2nd-edition/">Review do Livro “Generative AI with Python and PyTorch – 2nd edition”</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Fiz mais um review de livro da <em><strong>Editora Packt</strong></em>, desta vez foi do <a href="https://www.packtpub.com/en-br/product/generative-ai-with-python-and-pytorch-9781835884454" target="_blank" rel="noopener">Generative AI with Python and PyTorch – 2nd edition</a>, escrito por Joseph Babcock e Raghav Bali. É um livro que trás uma abordagem prática , principalmente, para aprender a usar LLM com Python. O livro cobre a construção de aplicações de IA Generativa, tanto para texto quanto para imagem, além de falar do futuro da IA Generativa.</p>
<p>Pode-se considerar um guia completo, bem como, apresenta desde os fundamentos teóricos até a implementação de projetos práticos e relevantes no cenário atual da IA. Diferente da <a href="https://www.packtpub.com/en-br/product/generative-ai-with-python-and-tensorflow-2-9781800208506" target="_blank" rel="noopener">primeira edição (de 2021) que usava TensorFlow</a>, esta nova versão foi totalmente atualizada para PyTorch, que é um dos frameworks mais populares em pesquisa e desenvolvimento de <em>deep learning</em>.</p>
<h2>Aprenda a usar LLM com Python</h2>
<p>O livro está dividido em 15 capítulos, e é possível identificar implicitamente (<em>diferente de algumas obras da O&#8217;Reilly que são explícitos</em>) os agrupamento sobre os tópicos dos capítulos. Coloquei a minha percepção de separação dos grupos e os capítulos dentro destas partes, mas lembre-se, isso é implícito e eu fiz a partir das vozes da minha cabeça.</p>
<h3>Parte 1 &#8211; Fundamentos</h3>
<p><strong>Capítulo 1: Introduction to Generative AI: Drawing data from models</strong></p>
<p>Este capítulo é a base de tudo. O mais interessante aqui é como os autores distinguem de forma clara os modelos generativos dos discriminativos, não apenas na teoria, mas mostrando o porquê de os modelos generativos serem tão poderosos para tarefas como aumento de dados e criação de conteúdo. Esta base estabelece o cenário para todo o resto do livro.</p>
<p><strong>Capítulo 2: Building blocks of deep neural network</strong></p>
<p>Para quem está assumindo que é um capítulo de NoCode/LowCode, contudo, pode mudar essa expectativa! Este capítulo faz o trabalho de um excelente nivelamento de conteúdo. Trás as Redes Neurais desde lá o princípio, explica a ideia do Perceptron e depois do Multi-Layer Perceptron. O ponto alto é que ele não se limita ao básico, mas avança rapidamente para arquiteturas mais robustas como Redes Neurais Convolucionais (CNNs) para visão computacional, e a arquitetura de Transformers, preparando o leitor com o ferramental teórico necessário para entender os modelos que são explicados nos capítulos seguintes.</p>
<h3>Parte 2 &#8211; Operações com texto</h3>
<p><strong>Capítulo 3: The rise of method for text generation</strong></p>
<p>Aqui a jornada prática na geração de texto começa. O interessante é ver a evolução, partindo das representações de palavras (com <em>BagOfWords</em> e <em>Word2Vec</em>) e chegando, principalmente, às redes LSTMs. O capítulo traz um projeto prático de um modelo de linguagem em nível de caractere, permitindo que o leitor sinta os desafios da geração de texto antes de saltar para os modelos mais complexos.</p>
<p><strong>Capítulo 4: NLP 2.0: Using transformers to generate text</strong></p>
<p>Este é um capítulo que desmistifica a tecnologia por trás dos LLMs. O foco, principalmente, é o mecanismo de atenção (<em>attention</em>) e como ele permitiu a criação da arquitetura Transformers. Explica sobre a arquitetura de <em>Encoding</em>, <em>Decoding</em> e <em>Encoding-Decoding</em>. Além disso apresenta aquela imagem conhecida da árvore de evolução dos modelos de NLP que tem no material de <strong>Yang et al. (2024).</strong></p>
<blockquote><p>Yang, J., Jin, H., Tang, R., Han, X., Feng, Q., Jiang, H., Zhong, S., Yin, B. and Hu, X., 2024. Harnessing the power of llms in practice: A survey on chatgpt and beyond. <i>ACM Transactions on Knowledge Discovery from Data</i>, <i>18</i>(6), pp.1-32.</p>
<p>Que pode ser acessado diretamente em <a href="https://dl.acm.org/doi/full/10.1145/3649506" target="_blank" rel="noopener">https://dl.acm.org/doi/full/10.1145/3649506</a></p></blockquote>
<figure style="width: 646px" class="wp-caption aligncenter"><a href="https://dl.acm.org/doi/full/10.1145/3649506"><img data-recalc-dims="1" fetchpriority="high" decoding="async" src="https://i0.wp.com/dl.acm.org/cms/10.1145/3649506/asset/fcfd7f89-b6a0-4b74-90e3-852aa320966c/assets/images/large/tkdd-2023-06-0236-f01.jpg?resize=640%2C500&#038;ssl=1" alt="Árvore de evolução de LLM" width="640" height="500" /></a><figcaption class="wp-caption-text">Árvore de evolução de LLM</figcaption></figure>
<p>Tem alguns Hands-On para implementação usando modelos como BERT e GPT.</p>
<h3>Parte 3 &#8211; Operações com LLMs</h3>
<p><strong>Capítulo 5: LLM Foundations</strong></p>
<p>Aqui o livro mergulha nos <em>Large Language Models</em>. O ponto de interesse é a abordagem prática de técnicas de treinamento avançadas, como o <span style="text-decoration: underline;"><em>Instruction Fine-Tuning</em></span> e o <em>Reinforcement Learning with Human Feedback</em> (RLHF), que são exatamente os métodos usados para refinar modelos como o ChatGPT, inclusive com hands-on pra estas duas técnicas. Há um projeto prático que mostra como aplicar o RLHF, o que é um diferencial enorme.</p>
<p><strong>Capítulo 6: Open-Source LLMs</strong></p>
<p>Este capítulo é relativamente atual (afinal, o livro é de Março/2025 e eu escrevo esse texto em Julho/2025) e relevante. Ele funciona como um guia prático pelo zoológico de LLMs open-source, como Llama, Mixtral e Falcon. O interessante é que ele não apenas lista os modelos, mas discute suas arquiteturas e pontos fortes, capacitando o leitor a escolher o modelo certo para seu projeto sem depender de APIs pagas.</p>
<h4>Parte 3.1 &#8211; Técnicas para LLMs</h4>
<p><strong>Capítulo 7: Prompt Engineering</strong></p>
<p>Mais do que apenas &#8220;como conversar com a IA&#8221;, este capítulo aborda a engenharia de prompts como uma disciplina técnica. O destaque vai para a exploração de técnicas avançadas como CoT (<i>Chain-of-Thought</i><em> &#8211; Cadeia de Pensamentos</em>) e ReAct <i>(Reasoning in Action &#8211; Raciocínio em Ação)</i>, mostrando como estruturar prompts para que os LLMs possam resolver problemas complexos passo a passo.</p>
<p><strong>Capítulo 8: LLM Toolbocx</strong></p>
<p>O ponto alto deste capítulo é a introdução à ferramentas que orbitam os LLMs, principalmente LangChain. Ele ensina DEvs a como construir aplicações complexas que integram LLMs com fontes de dados externas, criando sistemas mais especializados nos seus negócios com o uso de <em>Retrieval-Augmented Generation</em> (RAG).</p>
<p><strong>Capítulo 9: LLM Optimization techniques</strong></p>
<p>Treinar e rodar LLMs é caro (Muito caro! Já falei que treinar um LLM é muito caro?). Mas o grande valor deste capítulo é o foco em soluções práticas para este problema (Lembra, treinar um modelo de LLM é caro!). Ele explora técnicas de otimização de <em>fine-tuning</em>, como <em>Parameter Efficient Fine Tuning</em> (PEFT) e <em>Low-Rank Approximation</em> (LoRA), que permitem adaptar modelos enormes com muito menos recursos computacionais, tornando a tecnologia mais acessível para devs e pequenas empresas.</p>
<h3>Parte 4 &#8211; Aplicações emergentes em GenAI</h3>
<p><strong>Capítulo 10: Emerging applications in Generative AI</strong></p>
<p>Este capítulo começa a olhar para o futuro, contudo, trás uma discussão sobre para onde o esta disciplina está indo, explorando novos usos para os LLMs e os avanços que estão na fronteira da pesquisa. Ele serve como uma fonte de inspiração, mostrando o vasto potencial ainda inexplorado (segundo os autores) da IA Generativa.</p>
<h3>Parte 5 &#8211; Manipulação de Imagens</h3>
<p><strong>Capítulo 11: Neural Networks using VAEs</strong></p>
<p>Mudando o foco de texto para imagens, este capítulo apresenta os <em>Variational Autoencoders</em> (VAEs). O mais fascinante é entender como esses modelos aprendem a comprimir dados (como imagens) em uma representação latente e, em seguida, usam essa representação para gerar novos dados. É a base para muitas tarefas de geração e manipulação de imagens. Ah, não se assuste com a parte matemática, é importante para não achar que é tudo mágica!</p>
<h4>Parte 5.1 &#8211; Gans</h4>
<p><strong>Capítulo 12: Image generation with GANs</strong></p>
<p>As <em>Generative Adversarial Networks</em> (GANs) são uma das ideias mais elegantes em Machine Learning. Principalmente porque este capítulo explica a dinâmica de &#8220;competição&#8221; entre o gerador e o discriminador. Ele vai além da teoria, mostrando como implementar uma GAN na prática para gerar imagens realistas.</p>
<blockquote><p><a href="https://github.com/diegonogare/MachineLearning/blob/main/5.5-MNIST_GAN.ipynb" target="_blank" rel="noopener">Se quiser ver uma GAN, com dígitos numéricos, dá uma olhada aqui no meu Github</a>.</p></blockquote>
<p><strong>Capítulo 13: Style transfer with GANs</strong></p>
<p>Este capítulo é interessante, dá pra fazer várias coisas divertidas com transferência de estilos em visão computacional. Os autores mostram, principalmente, uma aplicação com GANs para transferência de estilo. Você conseguirá criar um modelo que pode pegar o conteúdo de uma foto e, do mesmo modo, redesenhá-lo no estilo de um pintor famoso, como Van Gogh, uma demonstração visualmente impressionante do poder desses modelos. Ah, a discussão sobre direitos autorais não entra aqui no jogo!</p>
<p><strong>Capítulo 14: Deep fake with GANs</strong></p>
<p>Apesar do nome remeter à coisas ruins (principalmente por influência dos portais de notícias que vendem caos pra conseguir uns cliques a mais nas matérias), a tecnologia de deepfake tem aplicações legítimas. Este capítulo permite entender a arquitetura por trás da troca de rostos em vídeos. Ele aborda a tecnologia de forma teórica, mas, mostrando como as GANs são usadas para manipulação de imagem em um nível avançado e também discutindo as implicações éticas. Tem parte de código para você reproduzir no seu ambiente com GPUs.</p>
<h4>Parte 5.2 &#8211; Arquitetura Diffusion</h4>
<p><strong>Capítulo 15: Diffusion modelos and AI art</strong></p>
<p>Este capítulo aborda a tecnologia por trás de geradores de imagem como DALL-E 2 e arquitetura <em>Stable Diffusion</em>. Contudo, o mais interessante é desmistificar o processo de difusão, que funciona &#8220;destruindo&#8221; e depois &#8220;reconstruindo&#8221; uma imagem. Ele traz a teoria e a prática dos modelos que definem o estado da arte na geração de imagens no período de escrita do livro (publicado em março/2025).</p>
<h2>Para encerrar</h2>
<p>Minha impressão do livro é grande, principalmente, porque cobre muitas técnicas e apresenta código para reproduzir nos nossos ambiente. Com isso, você aprende a usar LLM com Python.  Apresenta técnicas para texto, bem como, para imagem.</p>
<p>A versão digital deste livro, na Amazon, está um pouco menos de <a href="https://amzn.to/44sYDAh" target="_blank" rel="noopener">R$200</a>. Mas na Packt, você consegue comprá-lo por volta de <a href="https://www.packtpub.com/en-br/product/generative-ai-with-python-and-pytorch-9781835884454" target="_blank" rel="noopener">R$80</a>.</p>
<p>Bons estudos e que sua jornada de aprendizado seja tão enriquecedora quanto as soluções que você pode criar com IA Generativa!</p>
<p>O post <a href="https://diegonogare.net/2025/07/review-do-livro-generative-ai-with-python-and-pytorch-2nd-edition/">Review do Livro “Generative AI with Python and PyTorch – 2nd edition”</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4257</post-id>	</item>
		<item>
		<title>Review do livro &#8220;Generative AI on Google Cloud with LangChain&#8221;</title>
		<link>https://diegonogare.net/2025/04/review-do-livro-generative-ai-on-google-cloud-with-langchain/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Sun, 13 Apr 2025 23:28:38 +0000</pubDate>
				<category><![CDATA[Review de Livro]]></category>
		<category><![CDATA[Google Cloud]]></category>
		<category><![CDATA[IA Generativa]]></category>
		<category><![CDATA[LangChain]]></category>
		<category><![CDATA[Livro]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=3998</guid>

					<description><![CDATA[<p>O post da semana, mais uma vez, é de um review&#8230; desta vez é o review do livro &#8220;Generative AI on Google Cloud with LangChain: Design scalable generative AI solutions with Python, LangChain, and Vertex AI on Google Cloud&#8221; escrito por Leonid Kuligin, Jorge Zaldívar e Maximilian Tschochohei, e publicado pela Packt. Os três autores...</p>
<p>O post <a href="https://diegonogare.net/2025/04/review-do-livro-generative-ai-on-google-cloud-with-langchain/">Review do livro &#8220;Generative AI on Google Cloud with LangChain&#8221;</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>O post da semana, mais uma vez, é de um review&#8230; desta vez é o review do livro &#8220;Generative AI on Google Cloud with LangChain: Design scalable generative AI solutions with Python, LangChain, and Vertex AI on Google Cloud&#8221; escrito por Leonid Kuligin, Jorge Zaldívar e Maximilian Tschochohei, e publicado pela Packt. Os três autores são <em>AI Engineer</em> no Google e na minha visão prepararam este livro para ser um guia prático separados em 13 capítulos, vejo como um bom ponto de partida para quem deseja construir aplicações de IA Generativa robustas e escaláveis utilizando GCP, a Gloud da Google, combinado com a flexibilidade do framework LangChain. Inclusive o prefácio foi escrito por Harrison Chase, CEO da LangChain.</p>
<blockquote><p>Se você está pensando em comprar este livro, ou está apenas curioso sobre seu conteúdo, leia até este post porque eu preparei um resumo do que esperar de cada capítulo.</p></blockquote>
<h2>Review dos capítulos do livro</h2>
<p>São 13 capítulos, separados em 4 partes, além de dois apêndices:</p>
<p><strong>Capítulo 1: Using LangChain with Google Cloud</strong> &#8211; Este capítulo estabelece a base, introduzindo o LangChain, seus pilares como chains e runnables (incluindo a LangChain Expression Language &#8211; LCEL), e os principais elementos para trabalhar com isso. Ele foca especificamente em como integrar e utilizar o LangChain com os serviços do Google Cloud, preparando o terreno para as aplicações práticas;</p>
<p><strong>Capítulo 2: Foundational Models on Google Cloud</strong> &#8211; Aqui, o foco muda para os modelos de linguagem grandes (LLMs) disponíveis no ecossistema do Google Cloud, principalmente através do Vertex AI (como os modelos Gemini). Você aprenderá sobre o Vertex AI Model Garden, como usar templates de prompt, interagir com modelos de chat, utilizar callbacks e os fundamentos da engenharia de prompts para otimizar as respostas desses modelos;</p>
<p data-sourcepos="27:1-28:357"><strong>Capítulo 3: Grounding Responses</strong> &#8211; Este capítulo aborda o desafio crítico das &#8220;alucinações&#8221; em LLMs. Ele introduz o conceito de Retrieval-Augmented Generation (RAG) como uma possível solução, explicando como funciona e como construir aplicações RAG customizadas, utilizando também o Vertex AI Agent Builder para criar DataStores e agentes que fornecem respostas baseadas em fontes de dados confiáveis;</p>
<p data-sourcepos="30:1-31:302"><strong>Capítulo 4: Vector Search on Google Cloud</strong> &#8211; Fundamental para RAG, a busca vetorial é aprofundada neste capitulo. O texto explora o conceito de Vector Stores e embeddings, demonstrando como implementar e usar soluções de busca vetorial no Google Cloud, incluindo o Vertex AI Vector Search, PGVector (o PG vem do PostGres) no Cloud SQL e capacidades de busca vetorial no BigQuery;</p>
<p data-sourcepos="33:1-34:358"><strong>Capítulo 5: Ingesting Documents</strong> &#8211; Para que o RAG funcione, os dados precisam ser ingeridos, processados e indexados. Este capítulo explica sobre as técnicas e ferramentas para ingestão de documentos usando LangChain (loaders, parsers, chunking), como aproveitar o Document AI do Google Cloud para análise de documentos mais complexa e como usar o Vertex AI Agent Builder para simplificar o processo de ingestão;</p>
<p data-sourcepos="36:1-37:340"><strong>Capítulo 6: Multimodality</strong> &#8211; Indo além do texto, este capítulo explora as capacidades multimodais dos modelos mais recentes, como o Gemini. Você aprenderá como usar LangChain para processar e gerar conteúdo que combina texto e imagem, e potencialmente outros formatos, incluindo o uso do Imagen (modelo proprietário do Google para trabalhar com geração de imagem) e a construção de RAGs multimodais;</p>
<p data-sourcepos="41:1-42:286"><strong>Capítulo 7: Working with Long Context</strong> &#8211; LLMs têm limitações quanto ao tamanho do contexto que podem processar. Este capítulo aborda estratégias para lidar com documentos longos, como diferentes técnicas de sumarização e métodos para realizar perguntas e respostas (Q&amp;A) sobre textos extensos sem perder informação crucial;</p>
<p data-sourcepos="44:1-45:326"><strong>Capítulo 8: Building Chatbots</strong> &#8211; Este capítulo foca na criação de interfaces conversacionais. Abrange conceitos essenciais como gerenciamento de memória de conversa, diferentes tipos de memória e como construir chatbots que podem interagir de forma coerente ao longo de múltiplas trocas de mensagens, inclusive integrando RAG para respostas mais informadas;</p>
<p data-sourcepos="47:1-48:289"><strong>Capítulo 9: Tools and Function Calling</strong> &#8211; Aqui é explorado como capacitar LLMs a interagir com o mundo exterior. O capítulo ensina como definir e usar &#8220;ferramentas&#8221; (APIs, bancos de dados, etc.) que o LLM pode invocar para obter informações atualizadas ou executar ações, um conceito crucial para agentes autônomos;</p>
<p data-sourcepos="50:1-51:276"><strong>Capítulo 10: Agents</strong> &#8211; Este capítulo mergulha no conceito de agentes de IA generativa. Explica o que são, os diferentes tipos (como ReAct, Plan-and-Execute), como eles usam LLMs para raciocinar e tomar decisões, e como construí-los usando LangChain para realizar tarefas complexas de forma autônoma;</p>
<p data-sourcepos="53:1-54:330"><strong>Capítulo 11: Agentic Workflows</strong> &#8211; Expandindo o capítulo anterior, este aborda como orquestrar múltiplos agentes ou etapas complexas de raciocínio. Cobre tópicos como planejamento, decomposição de tarefas e explica como criar sistemas mais sofisticados onde agentes que colaboram ou seguem fluxos de trabalho predefinidos (fala superficialmente sobre o LangGraph);</p>
<p data-sourcepos="53:1-54:330"><strong>Capítulo 12: Evaluating GenAI Applications</strong> &#8211; Construir o modelo é apenas uma parte do desafio; avaliar sua performance é essencial. Este capítulo discute métricas e técnicas para avaliar a qualidade, precisão, segurança e desempenho de aplicações de IA generativa, um passo essencial antes de levar para produção;</p>
<p data-sourcepos="53:1-54:330"><strong>Capítulo 13: Generative AI System Design</strong> &#8211; Este capítulo oferece uma visão de mais alto nível sobre o design de sistemas complexos de IA generativa, considerando escalabilidade, confiabilidade, custos e integração com a infraestrutura existente no Google Cloud.</p>
<p data-sourcepos="53:1-54:330"><strong>Apêndice 1  &#8211; Overview of Generative AI</strong> &#8211; Este apêndice funciona como um nivelamento conceitual, ideal para quem busca solidificar ou revisar os fundamentos da IA Generativa antes de mergulhar nas implementações práticas com LangChain e Google Cloud. Ele trás de forma rápida e direta uma definição de IA Generativa, os tipos de modelos mais comuns (LLMs e modelos de difusão), explica termos essenciais como prompts, tokens e embeddings, e contextualiza as principais aplicações e o impacto dessa tecnologia, garantindo uma introdução para acompanhar os capítulos principais. Se for seu primeiro contato com o assunto, talvez valha a pena começar por aqui.</p>
<p data-sourcepos="53:1-54:330"><strong>Apêndice 2 &#8211; Google Cloud Foundations</strong> &#8211; É uma introdução ao GCP, ajuda quem não tem experiência prévia com a plataforma de Cloud da Google. Este trás um panorama dos principais serviços utilizados ao longo do livro. Ele introduz componentes importantes da infraestrutura do GCP (Compute Engine, Cloud Storage), serviços de dados relevantes (BigQuery, Cloud SQL) e, para surpresa de zero pessoas, entra em mais detalhes dos produtos da Vertex AI, incluindo seus recursos específicos para IA Generativa como o Model Garden, Pipelines e Vector Search, fornecendo o conhecimento básico necessário sobre a plataforma da nuvem.</p>
<h2>Minhas impressões</h2>
<p>Posso dizer que este review do livro &#8220;Generative AI on Google Cloud with LangChain&#8221; realmente parece ser um guia abrangente e prático, ele cobre desde os fundamentos do LangChain e dos modelos encontrados no Vertex AI, até arquiteturas complexas como RAG e Agentes. Não deixa de fora aspectos importantes de projetos como avaliação de performance e MLOps. O foco exclusivo no ecossistema Google Cloud (lembra que foi escrito por especialistas da Google??) torna o livro útil para quem trabalha, ou planeja trabalhar, com GCP.</p>
<p>Hoje o livro na Amazon está por pouco mais de 200 reais e pode ser <a href="https://amzn.to/4cAKDrM" target="_blank" rel="noopener">comprado neste link</a>. Já direto no site da Packt, o valor hoje está em <a href="https://www.packtpub.com/en-br/product/generative-ai-on-google-cloud-with-langchain-9781835889336?srsltid=AfmBOorXQlaoToxNCyRnMkmJmOu72L2Ds1ioG9BG1ykK__ZQ9OPVG63v#tocBlock" target="_blank" rel="noopener">R$ 80 e pode ser comprado neste link</a>. Ah, as duas versões são em formato digital.</p>
<p>&nbsp;</p>
<p><a href="https://diegonogare.net/category/review-de-livro/" target="_blank" rel="noopener">Caso queira ver todos os outros reviews de livros, acesse a tag: Review de Livros.</a></p>
<blockquote><p>A imagem de capa desta publicação foi feita com ChatGPT pedindo para transformar a foto original no estilo da Turma da Monica. Também pedi pra fazer no estilo dpo Shiryu de Dragão dos Cavaleiros do Zodiaco. Abaixo estão as duas imagens, tanto a original quanto a versão do Shiryu.</p>
<table style="border: none;" cellspacing="15" cellpadding="15">
<tbody>
<tr>
<td style="border: none; vertical-align: top;">
<p><figure id="attachment_4005" aria-describedby="caption-attachment-4005" style="width: 200px" class="wp-caption alignnone"><img data-recalc-dims="1" decoding="async" class="wp-image-4005" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/livro_GenAI_GCP_LangChain.jpg?resize=200%2C267&#038;ssl=1" alt="Imagem original do review do livro Generative AI on Google Cloud with LangChain" width="200" height="267" srcset="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/livro_GenAI_GCP_LangChain-scaled.jpg?resize=225%2C300&amp;ssl=1 225w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/livro_GenAI_GCP_LangChain-scaled.jpg?resize=768%2C1024&amp;ssl=1 768w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/livro_GenAI_GCP_LangChain-scaled.jpg?resize=1152%2C1536&amp;ssl=1 1152w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/livro_GenAI_GCP_LangChain-scaled.jpg?resize=1536%2C2048&amp;ssl=1 1536w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/livro_GenAI_GCP_LangChain-scaled.jpg?w=1920&amp;ssl=1 1920w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/livro_GenAI_GCP_LangChain-scaled.jpg?w=1280&amp;ssl=1 1280w" sizes="(max-width: 200px) 100vw, 200px" /><figcaption id="caption-attachment-4005" class="wp-caption-text">Imagem original do review do livro Generative AI on Google Cloud with LangChain</figcaption></figure></td>
<td style="border: none; vertical-align: top;">
<p><figure id="attachment_4004" aria-describedby="caption-attachment-4004" style="width: 200px" class="wp-caption alignnone"><img data-recalc-dims="1" decoding="async" class="wp-image-4004" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/GenAI_GCP_LangChain-Shiryu.png?resize=200%2C300&#038;ssl=1" alt="Imagem no estilo Cavaleiros do Zodiaco, mas ignorou o livro" width="200" height="300" srcset="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/GenAI_GCP_LangChain-Shiryu.png?resize=200%2C300&amp;ssl=1 200w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/GenAI_GCP_LangChain-Shiryu.png?resize=683%2C1024&amp;ssl=1 683w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/GenAI_GCP_LangChain-Shiryu.png?resize=768%2C1152&amp;ssl=1 768w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/GenAI_GCP_LangChain-Shiryu.png?w=1024&amp;ssl=1 1024w" sizes="(max-width: 200px) 100vw, 200px" /><figcaption id="caption-attachment-4004" class="wp-caption-text">Imagem no estilo Cavaleiros do Zodiaco, mas ignorou o livro</figcaption></figure></td>
<td style="border: none; vertical-align: top;">
<p><figure id="attachment_4018" aria-describedby="caption-attachment-4018" style="width: 200px" class="wp-caption alignnone"><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-4018 size-medium" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/GenAI_GCP_LangChain-Shiryu-com-livro.png?resize=200%2C300&#038;ssl=1" alt="Imagem no estilo Cavaleiros do Zodiaco, porém, com o livro" width="200" height="300" srcset="https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/GenAI_GCP_LangChain-Shiryu-com-livro.png?resize=200%2C300&amp;ssl=1 200w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/GenAI_GCP_LangChain-Shiryu-com-livro.png?resize=683%2C1024&amp;ssl=1 683w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/GenAI_GCP_LangChain-Shiryu-com-livro.png?resize=768%2C1152&amp;ssl=1 768w, https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/04/GenAI_GCP_LangChain-Shiryu-com-livro.png?w=1024&amp;ssl=1 1024w" sizes="auto, (max-width: 200px) 100vw, 200px" /><figcaption id="caption-attachment-4018" class="wp-caption-text">Imagem no estilo Cavaleiros do Zodiaco, porém, com o livro</figcaption></figure></td>
</tr>
</tbody>
</table>
</blockquote>
<p>O post <a href="https://diegonogare.net/2025/04/review-do-livro-generative-ai-on-google-cloud-with-langchain/">Review do livro &#8220;Generative AI on Google Cloud with LangChain&#8221;</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3998</post-id>	</item>
		<item>
		<title>Review do livro &#8220;The LLM Engineer&#8217;s Handbook&#8221;</title>
		<link>https://diegonogare.net/2024/12/review-do-livro-the-llm-engineers-handbook/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 30 Dec 2024 14:03:30 +0000</pubDate>
				<category><![CDATA[Review de Livro]]></category>
		<category><![CDATA[Engenharia de Machine Learning]]></category>
		<category><![CDATA[IA Generativa]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[MLOps]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[RAG]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=3929</guid>

					<description><![CDATA[<p>Fiz mais um review, desta vez, do livro &#8220;The LLM Engineer&#8217;s Handbook&#8221; escrito por Paul Iusztin e Maxime Labonne e publicado pela Packt. A obra aborda um assunto que vem crescendo muito nos ultimos meses que é a Engenharia LLM para implementar, otimizar e implantar grandes modelos de linguagem em situações do mundo real. Tem...</p>
<p>O post <a href="https://diegonogare.net/2024/12/review-do-livro-the-llm-engineers-handbook/">Review do livro &#8220;The LLM Engineer&#8217;s Handbook&#8221;</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Fiz mais um review, desta vez, do livro &#8220;The LLM Engineer&#8217;s Handbook&#8221; escrito por Paul Iusztin e Maxime Labonne e publicado pela Packt. A obra aborda um assunto que vem crescendo muito nos ultimos meses que é a Engenharia LLM para implementar, otimizar e implantar grandes modelos de linguagem em situações do mundo real. Tem como objetivo fornecer um guia abrangente para as melhores práticas neste campo, cobrindo de ponta a ponta o ciclo de vida de desenvolvimento de IA Generativa, passando desde a aquisição e preparação dos dados à implantação em produção.</p>
<p>Ele também destaca a importância do Machine Learning Operations (MLOps) para gerenciar a complexidade e a escala dos projetos LLM. Para minha surpresa positiva, o livro também fornece uma base inicial nos princípios de MLOps (no apêndice do livro).</p>
<p>O livro foi escrito com uma abordagem prática, desenvolvendo um projeto de ponta a ponta chamado LLM Twin, que é um aplicativo que imita o estilo de escrita e a personalidade de uma pessoa. Este projeto serve como um exemplo do mundo real ao longo do livro para solidificar os principais conceitos e técnicas estudados, além de ter o objetivo fornecer práticas e dicas de especialistas para cada estágio do ciclo de vida do LLM.</p>
<h2>Review dos capítulos do livro</h2>
<p>São 11 capítulos mais o apêndice, e aqui está um review do livro separado pelo que é abordado em cada capítulo:</p>
<ul>
<li>O <strong>Capítulo 1</strong> apresenta o projeto LLM Twin e primeiramente define a arquitetura FTI (Feature, Train, Inference) para construir sistemas ML escaláveis.</li>
<li>O <strong>Capítulo 2</strong> apresenta as ferramentas essenciais para construir aplicativos LLM. Inclui Python, ferramentas MLOps e recursos de nuvem (mas até nos orienta a instalá-los localmente para teste e desenvolvimento).</li>
<li>O <strong>Capítulo 3</strong> se concentra na engenharia de dados, embora ensine como implementar um pipeline de coleta de dados de várias fontes. Ele destaca a importância de coletar dados dinâmicos do mundo real.</li>
<li>O <strong>Capítulo 4</strong> apresenta os fundamentos da Retrieval-Augmented Generation (RAG), incluindo embeddings, bancos de dados vetoriais e estratégias de otimização.</li>
<li>O <strong>Capítulo 5</strong> explora de fato o ajuste fino supervisionado, abrangendo a criação de conjuntos de dados de alta qualidade e técnicas de ajuste fino, como ajuste fino completo, LoRA e QLoRA. Ele também inclui uma demonstração prática usando um modelo Llama 3.1 8B.</li>
<li>O <strong>Capítulo 6</strong> se aprofunda no ajuste fino com alinhamento de preferências, focando especificamente na Otimização de Preferência Direta (DPO). Ele inclui como criar conjuntos de dados de preferências personalizados e uma demonstração prática do alinhamento do modelo TwinLlama-3.1-8B.</li>
<li>O <strong>Capítulo 7</strong> detalha vários métodos para avaliar o desempenho do LLM, abrangendo avaliações de uso geral e específicas de domínio. Mas também demonstra uma avaliação do modelo Llama 3.1 8B ajustado.</li>
<li>O <strong>Capítulo 8</strong> abrange estratégias de otimização de inferência, como decodificação especulativa, paralelismo de modelo e quantização de peso para melhorar a velocidade e reduzir a latência.</li>
<li>O <strong>Capítulo 9</strong> explora técnicas avançadas de RAG implementando métodos como, por exemplo, autoconsulta, reclassificação e pesquisa vetorial filtrada.</li>
<li>O <strong>Capítulo 10</strong> apresenta estratégias de implantação de ML, incluindo inferência online, assíncrona e em lote. Embora também mostra como implantar o modelo no <a href="https://diegonogare.net/2024/04/temos-mais-de-3200-usuarios-no-sagemaker-studio/" target="_blank" rel="noopener">Sagemaker</a>, construir um microsserviço FastAPI para expor o pipeline de inferência do RAG.</li>
<li>O <strong>Capítulo 11</strong> explica o LLMOps, começando com suas raízes no DevOps e MLOps, incluindo como implantar o projeto LLM Twin na nuvem. Embora também explique como conteinerizar o código usando o Docker e construir um pipeline de CI/CD/CT (Integração, Implantação e Treinamento Contínuos), além do mais, também ensina como adicionar uma camada de monitoramento rápido ao pipeline.</li>
</ul>
<h2>Minhas impressões</h2>
<p>Se você estudar seriamente, ao final do livro, de fato entenderá como coletar e preparar dados para LLMs, ajustar modelos, otimizar inferência e implementar pipelines RAG. Mas também aprenderá como avaliar desempenho, alinhar modelos com preferências humanas e implantar aplicativos baseados em LLM. Mesmo eu considerando que é util ter o básico de Python, o livro explica conceitos do zero, fazendo a leitura ser acessível para todos, inclusive os que são novos em IA e machine learning.</p>
<p>Não posso deixar de mencionar que a qualidade da produção é realmente bonita e útil. As imagens coloridas nos ajudam a entender melhor os diagramas e o design da arquitetura.</p>
<p>A versão digital do livro está na Amazon por volta de 250 reais reais: <a href="https://amzn.to/4a16Deg" target="_blank" rel="noopener">https://amzn.to/4a16Deg</a>. Já na Packt você consegue por menos de 10 dólares: <a href="https://www.packtpub.com/en-us/product/llm-engineers-handbook-9781836200062" target="_blank" rel="noopener">https://www.packtpub.com/en-us/product/llm-engineers-handbook-9781836200062</a></p>
<p>Bons estudos!</p>
<p>O post <a href="https://diegonogare.net/2024/12/review-do-livro-the-llm-engineers-handbook/">Review do livro &#8220;The LLM Engineer&#8217;s Handbook&#8221;</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3929</post-id>	</item>
		<item>
		<title>Review do livro &#8220;Extending Power BI with Python and R &#8211; Second Edition&#8221;</title>
		<link>https://diegonogare.net/2024/06/review-do-livro-extending-power-bi-with-python-and-r-second-edition/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 03 Jun 2024 23:18:38 +0000</pubDate>
				<category><![CDATA[Review de Livro]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[Power BI]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[sql server]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=3920</guid>

					<description><![CDATA[<p>Fala galera! Fiz mais um review de livro, mas desta vez foi o &#8220;Extending Power BI with Python and R &#8211; Second Edition&#8221;, do meu amigo Luca Zavarella, que publicou pela Packt Pub. Me senti muito feliz com o convite dele para fazer esse review e compartilhar no blog, afinal, espero que você também estenda...</p>
<p>O post <a href="https://diegonogare.net/2024/06/review-do-livro-extending-power-bi-with-python-and-r-second-edition/">Review do livro &#8220;Extending Power BI with Python and R &#8211; Second Edition&#8221;</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="content user-select-text" tabindex="0" role="heading" aria-level="6" aria-description="" aria-label="Enviado por Copilot: **Introdução ao Power BI: Desvendando Recursos e Funcionalidades** O Power BI é uma ferramenta poderosa para visualização de dados, mas vai muito além disso. Nos 18 capítulos deste livro, exploraremos desde a integração de scripts R e Python até técnicas avançadas de análise e otimização. Aprenda a configurar R e Python, lidar com grandes conjuntos de dados, detectar outliers, usar expressões regulares e até incorporar machine learning. Seja você um iniciante ou um usuário experiente, este guia abrangente irá aprimorar suas habilidades no Power BI e ampliar suas possibilidades de análise de dados. Vamos mergulhar nessa jornada! &#x1f680;">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<p>Fala galera! Fiz mais um review de livro, mas desta vez foi o &#8220;Extending Power BI with Python and R &#8211; Second Edition&#8221;, do meu amigo <a href="https://www.linkedin.com/in/lucazavarella/" target="_blank" rel="noopener">Luca Zavarella</a>, que publicou pela Packt Pub. Me senti muito feliz com o convite dele para fazer esse review e compartilhar no blog, afinal, espero que você também estenda o Power BI com Python e R após ler este livro.</p>
<p>Bom, o Power BI é uma ferramenta da Microsoft poderosa para visualização de dados, mas vai muito além disso. Dessa forma, vasculhando alguns posts antigos, achei esse de 2013, <a href="https://diegonogare.net/2013/07/o-que-esperar-para-bi-no-sql-server-2014/" target="_blank" rel="noopener">falando sobre as novidades de BI no SQL Server 2014</a> e ainda nem tinha o Power BI.</p>
<p>Primeiramente, nos 22 capítulos deste livro, é possível explorar desde a integração de scripts R e Python até técnicas avançadas de análise e otimização. Em segundo lugar você irá aprender a configurar o R e o Python, a trabalhar com grandes conjuntos de dados, a detectar outliers e valores ausentes, a usar expressões regulares (o que é bem trabalhoso, vamos combinar!) e até incorporar Machine Learning em seus projetos. Aliás, independente de você ser um iniciante ou um usuário experiente, este livro completo com praticamente 800 paginas irá aprimorar suas habilidades no Power BI e ampliar suas possibilidades de análise de dados. Contudo, vou compartilhar contigo minhas impressões, para que você estenda o poder do Power BI com Python e R.</p>
</div>
</div>
</div>
<div class="ad-container">
<div class="content user-select-text" tabindex="0" role="heading" aria-level="6" aria-description="" aria-label="Enviado por Copilot: **Resumo dos Capítulos do Livro sobre Power BI** 1. **Integração de R e Python com o Power BI**: Este capítulo abrange a integração de scripts R e Python com o Power BI, destacando sua utilidade além da simples visualização de dados. Explora como injetar scripts R ou Python no Power BI, as ferramentas específicas para essa integração e as limitações desses scripts em diferentes produtos do Power BI. 2. **Configuração do R no Power BI**: Foca na configuração do R com o Power BI, incluindo instalação, configuração de motores R e ambientes de desenvolvimento. 3. **Configuração do Python no Power BI**: Explora a integração do Python com o Power BI, abordando instalação, configuração de motores Python e uso de ambientes virtuais. 4. **Solução de Problemas Comuns com Python e R no Power BI**: Oferece soluções para problemas frequentes ao usar Python e R no Power BI. 5. **Importação de Objetos de Dados Não Tratados**: Aborda a importação de arquivos RDS e PKL no Power BI, útil para dados processados externamente. 6. **Uso de Expressões Regulares no Power BI**: Explora o uso de regex para busca e substituição em strings no Power BI, melhorando a limpeza de dados. 7. **Anonimização e Pseudonimização de Dados no Power BI**: Técnicas para proteger a privacidade dos dados usando scripts Python e R. 8. **Registro de Dados do Power BI em Fontes Externas**: Como extrair e registrar dados do Power BI em arquivos externos ou sistemas. 9. **Carregamento de Grandes Conjuntos de Dados no Power BI**: Técnicas para trabalhar com arquivos grandes usando Python e R. 10. **Aceleração do Carregamento de Dados com o Formato Parquet**: Conversão de dados do formato CSV para Parquet para otimizar o desempenho. 11. **Chamando APIs Externas para Enriquecer seus Dados**: Extensão de dados usando APIs externas. 12. **Cálculo de Colunas com Algoritmos Complexos: Distâncias**: Uso de algoritmos para cálculos de distâncias. 13. **Cálculo de Colunas com Algoritmos Complexos: Correspondência Fuzzy**: Técnicas avançadas de correspondência fuzzy. 14. **Cálculo de Colunas com Algoritmos Complexos: Problemas de Otimização**: Abordagem de problemas de otimização usando Python e R. 15. **Inclusão de Insights Estatísticos: Associações**: Exploração de associações entre variáveis usando estatísticas. 16. **Inclusão de Insights Estatísticos: Outliers e Valores Ausentes**: Detecção de outliers e imputação de valores ausentes. 17. **Uso de Aprendizado de Máquina sem Capacidade Premium ou Incorporada**: Integração de ML no Power BI. 18. **Uso de Linguagens Externas do SQL Server para Análise Avançada e Integração de ML no Power BI**: Uso de motores analíticos Python e R no SQL Server e Azure SQL Managed Instance para o Power BI .">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<h2><strong>Vamos aos capítulos</strong></h2>
<p><strong>1 &#8211; Integração de R e Python com o Power BI</strong>: Este capítulo abrange a integração de scripts R e Python com o Power BI, destacando sua utilidade além da simples visualização de dados. Explora como adicionar scripts R ou Python no Power BI, as ferramentas específicas para essa integração e as limitações desses scripts em diferentes produtos do Power BI.</p>
<p><strong>2 &#8211; Configuração do R no Power BI</strong>: Foca na configuração do R com o Power BI, incluindo instalação, configuração de kernel R e ambientes de desenvolvimento.</p>
<p><strong>3 &#8211; Configuração do Python no Power BI</strong>: Explora a integração do Python com o Power BI, abordando instalação, configuração de kernel Python e uso de ambientes virtuais.</p>
<p><strong>4 &#8211; Solução de problemas comuns com Python e R no Power BI</strong>: Oferece soluções para problemas frequentes ao usar Python e R no Power BI.</p>
<p><strong>5 &#8211; Importação de objetos de dados não tratados</strong>: Aborda a importação de arquivos RDS e PKL no Power BI, útil para dados processados externamente.</p>
<p><strong>6 &#8211; Uso de expressões regulares no Power BI</strong>: Explora o uso de regex para busca e substituição em strings no Power BI, melhorando a limpeza de dados.</p>
<p><strong>7 &#8211; Anonimização e pseudo-anonimização de dados no Power BI</strong>: Técnicas para proteger a privacidade dos dados usando scripts Python e R.</p>
<p><strong>8 &#8211; Registro de dados do Power BI em fontes externas</strong>: Como extrair e registrar dados do Power BI em arquivos externos ou sistemas.</p>
<p><strong>9 &#8211; Carregamento de grandes conjuntos de dados no Power BI</strong>: Técnicas para trabalhar com arquivos grandes usando Python e R.</p>
<p><strong>10 &#8211; Aceleração do carregamento de dados com formato Parquet</strong>: Conversão de dados do formato CSV para Parquet para otimizar o desempenho.</p>
<p><strong>11 &#8211; Chamando APIs externas para enriquecer seus dados</strong>: Extensão de dados usando APIs externas.</p>
<p><strong>12 &#8211; Cálculo de colunas com algoritmos complexos: Distâncias</strong>: Uso de algoritmos para cálculos de distâncias.</p>
<p><strong>13 &#8211; Cálculo de colunas com algoritmos complexos: Fuzzy Match</strong>: Técnicas avançadas de fuzzy match.</p>
<p><strong>14 &#8211; Cálculo de colunas com algoritmos complexos: Problemas de otimização</strong>: Abordagem de problemas de otimização usando Python e R.</p>
<p><strong>15 &#8211; Inclusão de insights estatísticos: Associações</strong>: Exploração de associações entre variáveis usando estatísticas.</p>
<p><strong>16 &#8211; Inclusão de insights estatísticos: Outliers e valores ausentes</strong>: Detecção de outliers e imputação de valores ausentes.</p>
<p><strong>17 &#8211; Uso de aprendizado de máquina sem licença premium ou incorporada</strong>: Integração de ML no Power BI.</p>
<p><strong>18 &#8211; Uso de linguagens externas do SQL Server para análise avançada e integração de ML no Power BI</strong>: Uso de motores analíticos do Python e R no SQL Server e Azure SQL Managed Instance para o Power BI.</p>
<p><strong>19 &#8211; Análise Exploratória de Dados (EDA)</strong>: Foca na importância de compreender profundamente as características inerentes dos dados antes de aplicar modelos de ML. Introduz técnicas de EDA que ajudam na seleção de modelos adequados e na engenharia de features. Aborda limpeza de dados, relacionamentos entre variáveis e insights significativos para construir modelos precisos.</p>
<p><strong>20 &#8211; Uso da gramática de gráficos em Python com plotnine (não achei uma tradução melhor, então fiz quase que literal)</strong>: Guia abrangente sobre o pacote plotnine em Python, com paralelos ao popular ggplot2 em R. Explora a análise do conjunto de dados Titanic usando técnicas do plotnine, como criação de gráficos de barras e histogramas. Também aborda a integração do plotnine com o Power BI, incluindo instruções detalhadas para uso dessas visualizações no ambiente do Power BI.</p>
<p><strong>21 &#8211; Visualizações avançadas</strong>: Criação de gráficos personalizados avançados, com foco em gráficos de barras circulares. Esses gráficos são úteis para exibir dados periódicos ou cíclicos de forma clara e eficiente. O capítulo aborda seleção e implementação de gráficos de pizza no R e no Power BI, além da integração de scripts R para renderizar gráficos complexos do ggplot2.</p>
<blockquote><p>Só lembrando que não se deve usar gráficos com nome de comida, sejam eles pizza ou rosca. rss</p></blockquote>
<p><strong>22 &#8211; Visualizações interativas e personalizadas em R</strong>: Aprimoramento das visualizações de dados com interatividade, explorando a transição de gráficos estáticos para melhor interpretabilidade.</p>
</div>
</div>
<h2> Minha opinião</h2>
<p>Pessoalmente eu considero o Power BI uma ótima ferramenta. Afinal, o capítulo 17 e 18 trazem mais proximidade ao que tenho trabalhado nos últimos anos, e gostei realmente do que li. Na minha opinião é um material sólido para quem pretende aplicar as possibilidades que o R e o Python oferecem para seus projetos de DataViz. Embora o livro ofereca uma visão ampla, prática e aplicada, de como você poderá construir e utilizar estas técnicas. Nesse sentido, as referências e leituras adicionais te ajudarão aprofundar no contexto explicado no cap´tulo. Com o propósito de ajudar a validar o que você aprendeu, todo final de capítulo tem algumas perguntinhas que ajudam a fixar o conteúdo.</p>
<p>Em linhas gerais recomendo sim a leitura, principalmente para quem se interessa pelo assunto de DataViz. Enquanto escrevo esse texto, <a href="https://amzn.to/3RbIOIu" target="_blank" rel="noopener">a versão digital está a venda na Amazon por um pouco mais de 250 reais</a>.</p>
<h2>Estenda o poder do Power BI com Python e R</h2>
<p>A atualização do <a href="https://github.com/PacktPublishing/Extending-Power-BI-with-Python-and-R-2nd-edition" target="_blank" rel="noopener">Github contendo os códigos</a> não é tão frequente, afinal, há materiais com mais de 2 anos lá no repo. O que não é um problema, já que outros códigos são mais recentes.</p>
<p>Bons estudos!</p>
</div>
</div>
<p>O post <a href="https://diegonogare.net/2024/06/review-do-livro-extending-power-bi-with-python-and-r-second-edition/">Review do livro &#8220;Extending Power BI with Python and R &#8211; Second Edition&#8221;</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3920</post-id>	</item>
		<item>
		<title>Review do livro &#8220;Transformer for natural language processing and computer vision &#8211; 3rd Edition&#8221;</title>
		<link>https://diegonogare.net/2024/04/transformers-para-texto-e-visao-computacional/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 29 Apr 2024 20:00:07 +0000</pubDate>
				<category><![CDATA[Review de Livro]]></category>
		<category><![CDATA[IA Generativa]]></category>
		<category><![CDATA[NLP]]></category>
		<category><![CDATA[Processamento de Linguagem Natural]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Transformers]]></category>
		<category><![CDATA[Visão Computacional]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=3872</guid>

					<description><![CDATA[<p>Fiz mais um review de livro, como já tinha feito recentemente de MLOps, Azure Data Factory e algoritmos, mas desta vez foi &#8220;Transformer for natural language processing and computer vision &#8211; 3rd Edition&#8220;. O livro foi escrito por Denis Rothman e publicado pela Packt Pub. Neste livro você irá aprender sobre transformers para texto e...</p>
<p>O post <a href="https://diegonogare.net/2024/04/transformers-para-texto-e-visao-computacional/">Review do livro &#8220;Transformer for natural language processing and computer vision &#8211; 3rd Edition&#8221;</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Fiz mais um review de livro, como já tinha feito recentemente de <a href="https://diegonogare.net/2024/01/review-do-livro-machine-learning-engineering-with-python-mlops-ciclo-vida-modelos/" target="_blank" rel="noopener">MLOps</a>, <a href="https://diegonogare.net/2024/04/review-do-livro-azure-data-factory-cookbook-2nd-edition/" target="_blank" rel="noopener">Azure Data Factory</a> e <a href="https://diegonogare.net/2024/03/50-algoritmos-que-deve-conhecer/" target="_blank" rel="noopener">algoritmos</a>, mas desta vez foi &#8220;<em>Transformer for natural language processing and computer vision &#8211; 3rd Edition</em>&#8220;. O livro foi escrito por Denis Rothman e publicado pela Packt Pub. Neste livro você irá aprender sobre transformers para texto e visão computacional.</p>
<h2>O livro e seus capítulos</h2>
<p>Quero compartilhar minhas impressões iniciais, mas já sei que vou ter que ler mais vezes para realmente entender. Para mim esse assunto é novo, e achei difícil, por mais direto e didático que o Denis foi no livro, ainda sinto que é complexo e terei que estudar muito até ter confiança de sair falando de IA Generativa. O livro é uma leitura ampla, explica a arquitetura de transformers para texto e visão computacional. Em suas quase 700 páginas o livro possui 20 capítulos e está separado em três grandes grupos, sendo: Os Fundamentos dos Transformers; A Ascensão da NLP Supra-humana; Visão computacional generativa: uma nova maneira de ver o mundo.</p>
<p>Ao final de cada capítulo, acima de tudo, é possível ver as referências utilizadas para gerar o texto, além de algumas recomendações de leituras futuras para completar o aprendizado. FAlando em aprendizado, contudo, no final de cada capítulo você irá encontrar questões de Verdadeiro ou Falso sobre o que estudou. No final do livro tem o gabarito com as respostas, e algumas delas até tem uma explicação rápida da resposta correta.</p>
<p>Desde a arquitetura básica até aplicações práticas, este livro abrange:</p>
<div class="content" tabindex="0" aria-description="" aria-label="Enviado por Copilot: [1]: https://link.springer.com/chapter/10.1007/978-3-031-24349-3_6 &quot;&quot; [2]: https://www.goodreads.com/book/show/60114857-natural-language-processing-with-transformers &quot;&quot; [3]: https://www.mdpi.com/2078-2489/14/4/242 &quot;&quot; **Review do livro &quot;Transformer for natural language processing and computer vision - 3rd edition&quot;** Os **Transformers** revolucionaram o campo de Processamento de Linguagem Natural (NLP) e Visão Computacional. Nesta terceira edição do livro &quot;Transformer for natural language processing and computer vision&quot;, você encontrará insights atualizados e técnicas avançadas para dominar esses modelos. Desde a arquitetura básica até aplicações práticas, este livro abrange: - **Representações de Linguagem**: Aprenda como os Transformers aprendem representações ricas para palavras e frases. - **Tradução Automática**: Explore como os Transformers são usados para traduzir entre idiomas. - **Visão Computacional**: Descubra como aplicar os mesmos princípios aos dados de imagem. **Leia este livro e mergulhe no mundo dos Transformers!** **Principais TAGs**: NLP, Visão Computacional, Processamento de Linguagem Natural, Transformers. **Frase-Chave**: &quot;Review Transformers 3rd edition&quot; **Metadescrição**: &quot;Leia o review do livro &quot;Transformer for natural language processing and computer vision - 3rd edition&quot; e domine os Transformers em NLP e Visão Computacional.&quot;">
<div class="ac-container ac-adaptiveCard">
<div class="ac-textBlock">
<ul>
<li><strong>Representações de Linguagem</strong>: Entenda como os transformers aprendem representações ricas para palavras e frases.</li>
<li><strong>Tradução Automática</strong>: Discute como os transformers são usados para tradução de idiomas.</li>
<li><strong>Visão Computacional</strong>: Descubra como aplicar os mesmos princípios aos dados de imagem.</li>
</ul>
</div>
</div>
</div>
<p>Bom, vamos aos capítulos&#8230;</p>
<h3>Capítulo 1</h3>
<p><strong>O que são transformer? </strong>O autor explica, de forma abrangente, o conceito de transformer e os modelos fundamentais. O texto trás a complexidade de tempo <strong>O(1)</strong> desses modelos, que, segundo o texto, revolucionou diversas áreas. Além disso, destaca como os transformers se tornaram dominantes e trouxeram avanços significativos em várias áreas de pesquisa. Transformers são importantes para texto e também para visão computacional.</p>
<h3>Capítulo 2</h3>
<p><strong>Iniciando com a arquitetura do modelo transformer</strong> explora o contexto do Processamento de Linguagem Natural (NLP) e compreende como as arquiteturas de Redes Neurais Recorrentes (RNNs), Long Short-Term Memory (LSTM) e Redes Neurais Convolucionais (CNNs) foram abandonadas e abriram caminho para a arquitetura transformer. Nesse capítulo, o autor explora a arquitetura original do transformer, publicada no artigo científico <strong><a href="https://research.google/pubs/attention-is-all-you-need/" target="_blank" rel="noopener">Attention Is All You Need</a></strong>, desenvolvida por pesquisadores do Google Research e Google Brain. Além disso, descreve a teoria dos transformers e explora, na prática, como funcionam as subcamadas de múltiplas atenções em Python.</p>
<h3>Capítulo 3</h3>
<p>Em <strong>Tarefas emergentes vs. tarefas downstream: As profundezas invisíveis dos transformers</strong>, o autor estabelece uma conexão entre a arquitetura funcional e matemática dos transformers por meio da introdução do conceito de <em>emergência</em>. Em seguida, o autor aborda como medir o desempenho dos transformers antes de explorar diversas tarefas downstream, como o <em>Standard Sentiment TreeBank</em> (SST-2), a aceitabilidade linguística e os esquemas de <em>Winograd</em>.</p>
<blockquote><p>Não sei como traduzir Downstream, então mantive com o nome original. Se você tiver uma tradução apropriada, me conte e eu atualizo o post <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p></blockquote>
<h3>Capítulo 4</h3>
<p>Já em <strong>Avanços em traduções com Google Trax, Google Translate e Gemini</strong>, o texto explora a tradução automática em três etapas. Primeiro, define o que é a tradução automática. Em seguida, explica o pré-processamento de um conjunto de dados do <a href="https://www.statmt.org/wmt14/" target="_blank" rel="noopener">Workshop on</a><br />
Statistical Machine Translation (WMT) de 2014. Por fim, demonstra como implementar códigos para traduções automáticas em Python.</p>
<h3>Capítulo 5</h3>
<p><strong>Aprofundando no ajuste fino com BERT</strong> discute a arquitetura do transformer original. O <em>Bidirectional Encoder Representations from Transformers</em> (BERT) leva os transformers a uma nova e vasta maneira de perceber o mundo do NLP. Em vez de analisar uma sequência passada para prever uma sequência futura, o BERT analisa a toda a sequência! O autor explora as principais inovações da arquitetura do BERT e, em seguida, ajusta um modelo BERT passo a passo em um <a href="https://www.youtube.com/watch?v=hNCRlWgziNk" target="_blank" rel="noopener">notebook do Google Colab</a>.</p>
<h3>Capítulo 6</h3>
<p>No <strong>Pré-treinando um modelo RoBERTa do zero</strong>, o texto implementa um modelo de transformer RoBERTa a partir do zero usando PyTorch na Hugging Face. Primeiro, é treinado um tokenizador em um conjunto de dados personalizado. Em seguida, é feito um pré-treino de modelo de suporte ao cliente com IA generativa.</p>
<h3>Capítulo 7</h3>
<p>No capítulo de <strong>A revolução da IA Generativa com o ChatGPT</strong>, o autor explora as melhorias significativas e a disseminação dos modelos ChatGPT no cotidiano de desenvolvedores e usuários finais. Inicialmente, é apresentada a arquitetura dos modelos GPT da OpenAI. Em seguida, trabalha com a API do GPT-4 e seus hiper-parâmetros para implementar diversos exemplos de NLP em Python. Por fim, aprendemos como obter melhores resultados com <em>Retrieval Augmented Generation</em> (RAG). No capítulo é implementado um exemplo de RAG com o GPT-4.</p>
<h3>Capítulo 8</h3>
<p><strong>Ajuste fino de modelos OpenAI GPT</strong>, é explorada a técnica de ajuste fino para aprimorar os modelos GPT disponíveis por meio da API. Com o ajuste fino é possível obter resultados de maior qualidade do que apenas com prompts. Além disso, permite treinar o modelo com mais exemplos do que caberia em um prompt e economizar tokens devido a prompts mais curtos. Essa abordagem também reduz a latência das respostas nas solicitações. Os modelos da OpenAI já foram treinados em uma grande quantidade de texto, mas o fine tuning permite adaptá-los para tarefas em áreas de negócios específicas.</p>
<h3>Capítulo 9</h3>
<p><strong>Desvendando a caixa preta com ferramentas interpretáveis</strong>, o autor trás detalhes dos modelos de transformer, interpretando e visualizando suas tarefas. Apresenta o <em>BertViz</em> para visualizar as camadas de atenção, o <em>Language Interpretability Tool</em> (LIT) para rodar uma análise de componentes principais (PCA) e o <em>LIME</em> para visualizar os transformers por meio do aprendizado de dicionário. Além disso, os <strong>LLMs da OpenAI</strong> vão mais a fundo, permitindo visualizar a atividade de um neurônio em um transformer de forma interativa.</p>
<h3>Capítulo 10</h3>
<p>Em <strong>Investigando o papel dos Tokenizadores na formação de Modelos de transformadores</strong>, apresenta inicialmente as práticas recomendadas independentes de tokenizadores para avaliar a qualidade de um tokenizador. Descreve as diretrizes básicas para conjuntos de dados e tokenizadores sob a perspectiva da tokenização. O autor explora a abordagem de tokenizadores de palavras e subpalavras, e demonstra como um tokenizador pode moldar o treinamento e o desempenho de um modelo de transformers.</p>
<h3>Capítulo 11</h3>
<p>O capítulo com titulo <strong>Alavancando os incorporamentos de LLM como alternativa ao ajuste fino</strong>, explora por que a busca com incorporamento pode ser, às vezes, uma alternativa eficaz ao ajuste fino. São discutidas as vantagens e limitações dessa abordagem. Além disso, são explicados os fundamentos dos incorporamentos de texto. Para solidificar o aprendizado, implementa um código Python que lê um arquivo, o tokeniza e o incorpora com as bibliotecas <em>Gensim</em> e <em>Word2Vec</em>. Para concluir, você terá trabalhado desde o design de prompts até a engenharia avançada de prompts, utilizando incorporamentos para a RAG.</p>
<h3>Capítulo 12</h3>
<p><strong>Rumo à rotulagem de papéis semânticos sem sintaxe com o ChatGPT e o GPT-4</strong> explora os conceitos de modelos estocásticos sem sintaxe e não repetitivos. Utilizam o ChatGPT Plus com o GPT-4 para executar amostras de <em>Semantic Role Labeling</em> (SRL), com exemplos simples e complexos. Apresenta como um modelo de propósito geral reage às solicitações de SRL.</p>
<h3>Capítulo 13</h3>
<p>Em <strong>Sumarização com T5 e ChatGPT</strong>, o autor explica os conceitos e a arquitetura do modelo de transformer T5. Utiliza o T5 para resumir documentos com modelos da <em>Hugging Face</em>. Os exemplos neste capítulo estão relacionados a áreas jurídicas e médicas, buscando explorar a sumarização em domínios específicos do conhecimento. Também trás uma comparação das abordagens de sumarização entre o T5 e o ChatGPT.</p>
<h3>Capítulo 14</h3>
<p><strong>Explorando os LLMs de ponta com o Vertex AI e o PaLM 2</strong>. Apresenta o <em>Google PaLM 2</em>, um modelo com 540 bilhões de parâmetros. O PaLM 2 é um modelo autoregressivo, com ativação densa e decodificador. Explora como o PaLM 2 pode executar diversas tarefas como chat, classificação e geração de texto. O capítulo implementa a API do PaLM 2 dontro da Vertex AI, para várias tarefas de NLP, incluindo mas não se limitando, à perguntas e respostas e sumarização. FInaliza o capítulo, inclusive, com o processo de ajuste fino no Vertex AI.</p>
<h3>Capítulo 15</h3>
<p>Em <strong>Protegendo os gigantes: mitigando riscos em LLMs</strong>, exploram os riscos associados aos <em>Large Language Models</em> (LLMs) e estratégias para tentar mitigar os riscos. Estes são alguns riscos e abordagens de mitigação:</p>
<ol>
<li><strong>Alucinações</strong>: LLMs podem gerar respostas falsas ou incorretas, inegavelmente, levando à desinformação;</li>
<li><strong>Memorização</strong>: LLMs podem memorizar exemplos específicos de seus dados de treinamento, reproduzindo-os literalmente;</li>
<li><strong>Comportamento emergente arriscado</strong>: LLMs podem exibir comportamento inesperado ou prejudicial devido à sua complexidade;</li>
<li><strong>Desinformação</strong>: LLMs podem ocasionalmente gerar conteúdo que dissemina desinformação;</li>
<li><strong>Operações de influência</strong>: Atacantes maliciosos podem explorar LLMs para manipular a opinião pública ou enganar os usuários;</li>
<li><strong>Conteúdo prejudicial</strong>: LLMs podem produzir saídas sobretudo prejudiciais ou ofensivas, e até criminosas;</li>
<li><strong>Ataques adversários (“Jailbreaks”)</strong>: LLMs podem ser vulneráveis a manipulações intencional, comprometendo a integridade do conteúdo gerado.</li>
</ol>
<p>A fim de mitigar esses riscos, empregam técnicas avançadas de engenharia de prompts. Isso inclui a implementação de um modelo de moderação, a manutenção de uma base de conhecimento, a análise de palavras-chave, o uso de pilotos de prompts, a moderação pós-processamento e a alavancagem de incorporamentos, entre outras&#8230;</p>
<h3>Capítulo 16</h3>
<p>O texto <strong>Além do texto: transformers de visão no amanhecer da IA revolucionária</strong>, explora os modelos de transformers que respeitam a estrutura básica do transformer original, mas fazem algumas extensões significativas. Isso gerou poderosos transformers para visão, como o <strong>ViT</strong>, <strong>CLIP</strong>, <strong>DALL-E</strong> e <strong>GPT-4V</strong>. O autor implementa transformer de visão em Python, utilizando o GPT-4V, e expande as interações de texto-para-imagem do DALL-3. É importante destacar que os transformers vão além de texto e chegam até visão computacional.</p>
<h3>Capítulo 17</h3>
<p>Em <strong>Transcendendo a fronteira entre imagem e texto com a Stable Difusion</strong>, o autor explora os modelos de difusão, apresentando o <em>Stable Vision</em>, que, aliás, criou uma onda incrível de imagens realistas que está se espalhando pelo mercado. Explica os princípios, a matemática e implementa um código de <em>Stable Difusion</em> no Keras. O texto analisa cada um dos principais componentes de um modelo de <em>Stable Difusion</em> e examina os códigos do Keras. Para finalizar, também discute um modelo de de texto-para-vídeo com a <em>Hugging Face</em> e um modelo de vídeo-para-texto com o <em><strong>TimeSformer</strong></em> da Meta.</p>
<h3>Capítulo 18</h3>
<p><strong>Hugging Face AutoTrain: Treinando modelos de visão sem codificação</strong> explora como treinar um transformer de visão usando o <strong>AutoTrain</strong> da Hugging Face. O autor explica o processo de treinamento automatizado e o autor comenta os problemas imprevisíveis que demonstram por que até o aprendizado de máquina automatizado requer expertise humana. Este capítulo também trás uma discussão e mostra como explorar os limites de um modelo de visão computacional, independentemente de quão sofisticado ele seja.</p>
<blockquote><p>Este desafio de re-treino automatizado está presente, inclusive, no Machine Learning tradicional. Não é algo exclusivo da IA Generativa</p></blockquote>
<h3>Capítulo 19</h3>
<p><strong>No caminho para a IA geral funcional com o HuggingGPT e seus pares</strong> demonstra como podemos usar modelos encadeados entre plataformas para resolver problemas complexos de classificação de imagens. O autor compara o <strong>HuggingGPT</strong> e o <strong>Google Cloud Vision</strong> no trabalho de identificação de imagens fáceis, difíceis e muito difíceis. Além disso, o capítulo comenta as abordagens clássicas e explora como encadear modelos.</p>
<h3>Capítulo 20</h3>
<p><strong>Além dos prompts projetados por humanos com ideação generativa</strong> explora a ideação generativa, uma abordagem que automatiza a produção de ideias para conteúdo de texto e imagem. A fase de desenvolvimento destas ideações requer especialistas qualificados em IA. Já para o usuário final, a abordagem é uma experiência simples de <em>point and click</em>. O autor discute e nos faz pensar em ideias generativas éticas para empresas sem recursos de marketing, mas não se limita apenas à essa área de atuação.</p>
<p>&nbsp;</p>
<h2>Minha opinião</h2>
<p>Na minha opinião é um material rico para conhecer e aplicar a arquitetura de transformers para texto e visão computacional, codificando com Python. O livro oferece uma visão ampla, porém prática e aplicada, de como a arquitetura funciona e vários detalhes sobre os modelo de linguagem e te visão. É uma leitura densa, e pra mim, vou ter que estudar mais porque achei o assunto complexo. Não é do meu cotidiano trabalhar com GenAI, e por isso quero estudar mais antes de sair falando besteira por ai. As referências e leituras adicionais ajudarão quando eu tiver tempo para aprofundar.</p>
<p>Em linhas gerais recomendo a leitura, principalmente para quem se interessa pelo assunto de Inteligência Artificial. <a href="https://amzn.to/4bh2tOw" target="_blank" rel="noopener">A versão digital está na Amazon por um pouco menos de 250 reais</a> enquanto escrevo esse texto.</p>
<p>&nbsp;</p>
<h2>Transformers para texto e visão computacional</h2>
<p>A atualização do <a href="https://github.com/Denis2054/Transformers-for-NLP-and-Computer-Vision-3rd-Edition" target="_blank" rel="noopener">Github contendo os códigos</a> é frequente, inclusive no momento que posto esse texto, a ultima atualização de código foi ontem 29/04/2024.</p>
<p>&nbsp;</p>
<p>Bons estudos!</p>
<p>O post <a href="https://diegonogare.net/2024/04/transformers-para-texto-e-visao-computacional/">Review do livro &#8220;Transformer for natural language processing and computer vision &#8211; 3rd Edition&#8221;</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3872</post-id>	</item>
		<item>
		<title>Machine Learning &#8211; Meu repositório no github</title>
		<link>https://diegonogare.net/2024/03/machine-learning-meu-repositorio-no-github/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 25 Mar 2024 21:59:08 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Análise Exploratória Descritiva]]></category>
		<category><![CDATA[Aprendizado Não Supervisionado]]></category>
		<category><![CDATA[Aprendizado Supervisionado]]></category>
		<category><![CDATA[Comparação de Algoritmos]]></category>
		<category><![CDATA[Contribuição em Repositório]]></category>
		<category><![CDATA[Grid Search]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Serialização de Modelos]]></category>
		<category><![CDATA[Validação Cruzada]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=3832</guid>

					<description><![CDATA[<p>Seja bem-vindo ao meu repositório de Machine Learning no GitHub! Aqui, você encontrará os códigos que desenvolvi durante a disciplina de Aprendizagem de Máquina do doutorado no Mackenzie. Você encontrará diversos Jupyter Notebook para aprender Machine Learning utilizando Python e abordando desde Análise Exploratória Descritiva até implementações práticas de Aprendizado Supervisionado e Aprendizado não Supervisionado,...</p>
<p>O post <a href="https://diegonogare.net/2024/03/machine-learning-meu-repositorio-no-github/">Machine Learning &#8211; Meu repositório no github</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Seja bem-vindo ao meu <a href="https://github.com/diegonogare/MachineLearning" target="_blank" rel="noopener">repositório de Machine Learning no GitHub</a>! Aqui, você encontrará os códigos que desenvolvi durante a disciplina de Aprendizagem de Máquina do doutorado no Mackenzie. Você encontrará diversos Jupyter Notebook para aprender Machine Learning utilizando Python e abordando desde Análise Exploratória Descritiva até implementações práticas de Aprendizado Supervisionado e Aprendizado não Supervisionado, além de boas práticas como Validação Cruzada, Grid Search e Serialização do Modelo e códigos que realizam comparações dos algoritmos estudados.</p>
<p>Navegue pelo repositório de machine learning com Python e execute todos os códigos no Google Colab para aprimorar suas habilidades em Machine Learning. E claro, colabore para que todos possamos aprender cada vez mais!</p>
<h2>Meu repositório no github</h2>
<p dir="auto">O repositório é dedicado a compartilhar os códigos com resoluções de problemas de <a href="https://github.com/diegonogare/MachineLearning" target="_blank" rel="noopener">Machine Learning</a>. Ajudam no entendimento desta área de atuação que vem crescido bastante nos últimos anos. Aqui você irá encontrar exemplos de algoritmos no repositório de machine learning com Python explicados de maneira detalhada (ao menos estou tentando deixar o mais detalhado que consigo, no tempo que tenho).</p>
<p dir="auto">Os códigos estão organizados em grupos, onde há o nome do arquivo e uma breve descrição do que ele tem de implementação.</p>
<h3 dir="auto">Análise exploratória descritiva</h3>
<p dir="auto">Existem os códigos que fazem a exploração de dados de um dataset de Detecção de Fraude e outro da Iris. Além de uma exploração de dados com os dígitos do MNIST.</p>
<h3 dir="auto">Aprendizado supervisionado</h3>
<p dir="auto">Só coloquei os códigos de algoritmos de classificação, porém, tem KNN, Árvore de Decisão e Multi-Layer Perceptron (Rede Neural). Tem espaço para incluir outros algoritmos de classificação, como também há espaço para adicionar algoritmos de regressão, por que eu não subi nenhum.</p>
<h3 dir="auto">Aprendizado não supervisionado</h3>
<p dir="auto">Apesar de já ter o arquivo para o DBScan e o <a href="https://diegonogare.net/2015/08/entendendo-como-funciona-o-algoritmo-de-cluster-k-means/" target="_blank" rel="noopener">K-Means</a>, só o K-Means que escrevi os códigos&#8230; para o DBScan eu comecei a fazer a parte teórica mas não implementei nada. Há espaço para colaborar aqui também&#8230;</p>
<p dir="auto">Além, é claro, de outros algoritmos que quiserem</p>
<h3 dir="auto">Boas práticas</h3>
<p dir="auto">Tem códigos utilizando <a href="https://diegonogare.net/2024/02/melhores-praticas-para-testar-e-monitorar-modelos-de-ml/" target="_blank" rel="noopener">Validação Cruzada</a>, Grid Search e Serialização de Modelos&#8230; Mas aqui também há espaço para trazerem mais boas práticas <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h3 dir="auto">Comparação de algoritmos</h3>
<p dir="auto">Para o trabalho de comparar os algoritmos, fiz a junção de vários códigos do repositório e então comparei KNN, Árvore de Decisão e Multi-Layer Perceptron para a base de dados MNIST&#8230; Como eu queria garantir que os dígitos testados não tivessem sido utilizados de forma alguma, criei uma rede adversaria generativa para que fosse possível criar dígitos artificiais. Então, com esses dígitos, eu posso testar os algoritmos em si e comparar seus resultados.</p>
<figure id="attachment_3838" aria-describedby="caption-attachment-3838" style="width: 350px" class="wp-caption aligncenter"><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-3838" src="https://i0.wp.com/diegonogare.net/wp-content/uploads/2024/03/digitos-MNIST.gif?resize=350%2C350&#038;ssl=1" alt="Animação com a geração artificial dos dígitos entre a época 0 e 100" width="350" height="350" /><figcaption id="caption-attachment-3838" class="wp-caption-text">Animação com a geração artificial dos dígitos entre a época 0 e 100</figcaption></figure>
<p dir="auto">De bonus ainda tem um código que fiz para juntar as imagens dos dígitos em cada uma das épocas e construir um gif animado. Assim fica bem legal ver a evolução das gerações de dígitos artificiais ao longo das épocas da GAN.</p>
<h2 dir="auto">Contribua com o repositório de machine learning</h2>
<p dir="auto">Você já fez alguma coisa de ML e gostaria de subir nesse repositório? Se for até o final do Readme.md vai ver algumas instruções rápidas para contribuir além de uma<a href="https://www.youtube.com/playlist?list=PLrakQQfctUYX37CRv3fomYfKwDe0NLmsk" target="_blank" rel="noopener"> playlist explicando como fazer isso</a>. Mas mesmo assim, aqui está uma lsita simplificada de passos para contribuir:</p>
<ol>
<li><strong>Crie uma conta no GitHub</strong>: Se você ainda não tem uma, você pode criar uma gratuitamente no site do GitHub.</li>
<li><strong>Fork do repositório</strong>: Abra o link do projeto e faça um “fork” dele. Isso cria uma cópia do projeto na sua conta do GitHub.</li>
<li><strong>Clone o repositório para o seu computador</strong>: Use o comando <code>git clone</code> seguido do URL do seu fork para baixar o repositório para o seu computador.</li>
<li><strong>Faça suas alterações</strong>: Faça as alterações que você acha que melhoram o projeto.</li>
<li><strong>Commit suas alterações</strong>: Use o comando <code>git commit -m</code> seguido de uma mensagem descritiva para salvar suas alterações.</li>
<li><strong>Push suas alterações para o GitHub</strong>: Use o comando <code>git push origin</code> seguido do nome da sua branch (<em>main</em>) para enviar suas alterações para o seu fork no GitHub.</li>
<li><strong>Abra um Pull Request</strong>: Volte para o seu fork no GitHub, selecione a sua branch e clique no botão “New pull request”. Escreva uma descrição detalhada das suas alterações e então clique em “Create pull request”.</li>
</ol>
<p>A partir disso eu recebo o seu PR, analiso o que você codou e faço o merge para o repositório. Dando os devidos créditos à você, é claro! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h2>Quer estudar mais</h2>
<p>Quer estudar os algoritmos e implementá-los no repositório de machine learning com Python? Com o livro <a href="https://amzn.to/3TRgixh" target="_blank" rel="noopener">Mãos à obra: aprendizado de máquina com scikit-learn &amp; tensorflow</a> você vai aprender bastante, assim como com <a href="https://amzn.to/49aenZ1" target="_blank" rel="noopener">Data Science do zero: noções fundamentais com Python</a>. Então não deixe de estudar e se aperfeiçoar nessa disciplina!</p>
<p>O post <a href="https://diegonogare.net/2024/03/machine-learning-meu-repositorio-no-github/">Machine Learning &#8211; Meu repositório no github</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3832</post-id>	</item>
		<item>
		<title>Ferramentas e plataformas essenciais para projetos de IA e ML</title>
		<link>https://diegonogare.net/2024/02/ferramentas-e-plataformas-essenciais-para-projetos-de-ia-e-ml/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Thu, 08 Feb 2024 02:48:39 +0000</pubDate>
				<category><![CDATA[Inteligência Artificial]]></category>
		<category><![CDATA[ciência de dados]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=3772</guid>

					<description><![CDATA[<p>A Inteligência Artificial (IA) e o Machine Learning (ML) estão revolucionando o mundo da tecnologia, isso eu acredito que não é duvida para ninguém! Com o avanço dessas tecnologias, surgem  também novas ferramentas e plataformas que facilitam o desenvolvimento de projetos nessa área. Neste texto, quero explorar algumas ferramentas e plataformas disponíveis para desenvolver projetos...</p>
<p>O post <a href="https://diegonogare.net/2024/02/ferramentas-e-plataformas-essenciais-para-projetos-de-ia-e-ml/">Ferramentas e plataformas essenciais para projetos de IA e ML</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>A Inteligência Artificial (IA) e o Machine Learning (ML) estão revolucionando o mundo da tecnologia, isso eu acredito que não é duvida para ninguém! Com o avanço dessas tecnologias, surgem  também novas ferramentas e plataformas que facilitam o desenvolvimento de projetos nessa área. Neste texto, quero explorar algumas ferramentas e plataformas disponíveis para desenvolver projetos de IA e ML. Bora?!</p>
<h2><em>Ferramentas de IA e ML</em></h2>
<p>Primeiramente, é importante destacar que a escolha da ferramenta certa pode fazer toda a diferença em um projeto de IA ou ML. Entre as mais populares para Python estão <a href="https://www.tensorflow.org/" target="_blank" rel="noopener">TensorFlow</a>, <a href="https://pytorch.org/" target="_blank" rel="noopener">PyTorch</a> e <a href="https://keras.io/" target="_blank" rel="noopener">Keras</a>. Essas ferramentas oferecem uma variedade de recursos que facilitam a implementação de algoritmos de ML.</p>
<p>O TensorFlow é uma biblioteca de código aberto para IA e ML, foi desenvolvido pela Google, e pode ser usado em várias de linguagens de programação, incluindo Python e Java. Seguindo a mesma linha, o PyTorch é um framework de ML, também de código aberto, usado para construir e treinar modelos de Deep Learning. O PyTorch é escrito em Python, tornando-o relativamente fácil para a maioria dos desenvolvedores de ML aprender e usar. Já o Keras é uma API projetada para seres humanos, não para máquinas. O Keras segue as melhores práticas para reduzir a carga cognitiva: oferece APIs consistentes e simples, minimiza o número de ações do usuário necessárias para casos de uso comuns e fornece mensagens de erro claras.</p>
<h2><em>Plataformas de desenvolvimento</em></h2>
<p>Além das ferramentas, as plataformas de desenvolvimento também são essenciais. Plataformas como <a href="https://cloud.google.com/products/ai" target="_blank" rel="noopener">Google Cloud AI</a>, <a href="https://aws.amazon.com/pt/sagemaker/" target="_blank" rel="noopener">AWS Sagemaker</a> e <a href="https://azure.microsoft.com/en-us/services/machine-learning/" target="_blank" rel="noopener">Microsoft Azure Machine Learning</a> proporcionam um ambiente robusto para o desenvolvimento e a implementação de modelos de ML.</p>
<p>O Google Cloud AI é uma plataforma de IA que oferece uma variedade de serviços, incluindo análise de vídeo e imagem, reconhecimento de fala e processamento multilíngue. Já o AWS Sagemaker, contudo, é um serviço totalmente gerenciado na nuvem que permite aos cientistas de dados construir, treinar e implantar modelos de ML de alta qualidade com rapidez e confiança. Ainda seguindo a mesma estratégia, o Microsoft Azure Machine Learning é um serviço de IA corporativo que suporta o ciclo de vida completo de Machine Learning, oferecendo operações de ML líderes do setor, interoperabilidade de código aberto e ferramentas integradas.</p>
<h2><em>Escolhendo a ferramenta e plataforma certa</em></h2>
<p>A escolha da ferramenta e plataforma certa depende de vários fatores, incluindo o tipo de projeto, o nível de habilidade do desenvolvedor e o orçamento disponível. Por isso é importante pesquisar e experimentar diferentes opções antes de tomar uma decisão. Inclusive, escrevi há um tempo sobre <a href="https://diegonogare.net/2020/05/como-escolher-uma-otima-solucao/" target="_blank" rel="noopener">como escolher uma ótima solução</a>, recomendo a leitura.</p>
<p>Entendo que é crucial observar as necessidades específicas do seu negócio, porque cada projeto de IA e ML tem requisitos únicos e, portanto, a ferramenta e a plataforma que melhor atendem a esses requisitos podem variar. Considere fatores como facilidade de uso, flexibilidade, escalabilidade e suporte da comunidade. Além disso, leve em conta o custo e a compatibilidade com as tecnologias existentes em sua organização. Sempre tem um legado que precisa ser integrado, lembre-se disso!</p>
<p>Não se esqueça de realizar testes com as ferramentas e plataformas candidatas. Isso permitirá que você avalie seu desempenho em um ambiente real e determine se elas atendem às suas reais necessidades. Não deixe de pensar no futuro dessa plataforma. As necessidades do seu business podem mudar com o tempo, então, escolha soluções que possam se adaptar e crescer com o seu negócio. Se possível, evite lock-in de ferramenta para não virar refém de fornecedores.</p>
<h2>Conclusão</h2>
<p>A escolha das ferramentas e plataformas corretas é um passo fundamental no desenvolvimento de projetos de IA e ML. Porém, com a ferramenta e plataforma correta, os desenvolvedores podem focar em resolver problemas complexos e inovar, em vez de se preocupar com questões técnicas.</p>
<blockquote><p><a href="https://www.bing.com/images/create/uma-cidade-cheia-de-prc3a9dios-comerciais-com-fachada/1-65c44013f4e449cd83521c657dd83d13?id=JZN7wz9zWvdhYAO9cIDX4A%3d%3d&amp;view=detailv2&amp;idpp=genimg&amp;idpclose=1&amp;thId=OIG2.pnSIqAoUPcbzae7VFx2q&amp;FORM=SYDBIC" target="_blank" rel="noopener">Imagem de capa criada com IA pelo Bing</a>: Utilizei o prompt: &#8220;Uma cidade cheia de prédios comerciais com fachada espelhada, com o céu em tons de azul celeste, com nuvens com números no estilo matrix, em estilo de desenho em aquarela&#8221;.</p></blockquote>
<p>O post <a href="https://diegonogare.net/2024/02/ferramentas-e-plataformas-essenciais-para-projetos-de-ia-e-ml/">Ferramentas e plataformas essenciais para projetos de IA e ML</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3772</post-id>	</item>
		<item>
		<title>Análise e visualização de dados para ML e Ciência de Dados</title>
		<link>https://diegonogare.net/2024/01/analise-e-visualizacao-de-dados-para-ml-e-ciencia-de-dados/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 22 Jan 2024 19:45:42 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[ciência de dados]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[visualização de dados]]></category>
		<guid isPermaLink="false">https://diegonogare.net/?p=3734</guid>

					<description><![CDATA[<p>A Ciência de Dados é uma área em constante crescimento, e no momento em que há um aumento da quantidade de dados disponíveis, a necessidade de Análise e visualização de dados para ML e Ciência de Dados de maneira eficiente tornou-se cada vez mais importante. Neste post, quero explorar como o Machine Learning pode ser...</p>
<p>O post <a href="https://diegonogare.net/2024/01/analise-e-visualizacao-de-dados-para-ml-e-ciencia-de-dados/">Análise e visualização de dados para ML e Ciência de Dados</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>A Ciência de Dados é uma área em constante crescimento, e no momento em que há um aumento da quantidade de dados disponíveis, a necessidade de Análise e visualização de dados para ML e Ciência de Dados de maneira eficiente tornou-se cada vez mais importante. Neste post, quero explorar como o Machine Learning pode ser usado para essa finalidade, utilizando a linguagem de programação Python.</p>
<h2><em>Machine Learning e Ciência de Dados</em></h2>
<p>Machine Learning é um subcampo da Inteligência Artificial que se concentra em desenvolver algoritmos que permitem que os computadores aprendam a partir dos dados. Contudo, na Ciência de Dados, esses algoritmos são usados para descobrir padrões e insights nos dados. Anteriormente expliquei neste texto como a <a href="https://diegonogare.net/2020/01/uso-da-inteligencia-artificial-no-cotidiano/" target="_blank" rel="noopener">Inteligência Artificial está presente no nosso cotidiano</a>. Aliás, esse texto também faz uma referência à uma outra publicação que conto um pouco da <a href="https://diegonogare.net/2020/01/historia-da-inteligencia-artificial/" target="_blank" rel="noopener">história da Inteligência Artificial</a>.</p>
<h2>Analise e Visualização de dados</h2>
<h3>Análise de Dados</h3>
<p>A análise é o coração da ciência de dados, pois engloba o processo de inspecionar, limpar e transformar dados. Tem o objetivo de descobrir informações úteis, informar conclusões e apoiar os gestores nas tomada de decisões. A análise de dados pode ser dividida em muitas sub-áreas, e quero destacar quatro delas aqui:</p>
<ul>
<li><strong>Descoberta de Informações:</strong> A análise de dados ajuda a descobrir padrões e tendências nos dados que podem não ser imediatamente aparentes. Aliás, isso pode levar a insights valiosos que podem ser usados para informar estratégias de negócios ou direcionar decisões.</li>
<li><strong>Tomada de Decisões Baseada em Dados:</strong> Com a análise de dados, as decisões podem ser baseadas em dados, em contraste com decisões com base em intuição, suposições ou com o famoso &#8220;eu que mando aqui&#8221;. Isso pode levar a melhores resultados e maior eficiência.</li>
<li><strong>Previsão e Modelagem:</strong> A análise de dados permite a criação de modelos preditivos que podem ser usados para prever comportamentos ou tendências do futuro. Isso é particularmente útil em campos como vendas, marketing e finanças. Lembrando que, em virtude de ter resultados probabilísticos e não serem resultados determinísticos, a predição está associada à uma probabilidade do resultado acontecer.</li>
<li><strong>Melhoria da Precisão:</strong> A análise de dados pode ajudar a melhorar a precisão das previsões e decisões ao fornecer uma base sólida de evidências em que se basear. Ou seja, melhora a tomada de decisão baseada em dados.</li>
</ul>
<h3>Visualização de Dados</h3>
<p>Já a visualização de dados, que também é uma parte essencial da ciência de dados, permite que dados complexos sejam transformados em gráficos, facilitando a compreensão e interpretação dos dados. No Dataviz também podemos destacar muitos pontos importantes, mas quero manter o padrão e trazer quatro que entendo ser imporatnte:</p>
<ul>
<li><strong>Compreensão Rápida:</strong> Gráficos e imagens são processados pelo cérebro humano muito mais rápido do que texto, por consequência, a  visualização de dados permite que as pessoas entendam os dados rapidamente.</li>
<li><strong>Descoberta de Padrões:</strong> A visualização de dados pode revelar padrões, tendências e correlações nos dados que podem não ser evidentes em dados brutos, visto que nosso cérebro funciona melhor ao ver uma imagem do que ao ver um monte de numero amontoado.</li>
<li><strong>Comunicação Eficaz:</strong> A visualização de dados é uma maneira eficaz de comunicar informações complexas de maneira clara e concisa. Ela pode ser usada com o intuito de contar histórias com dados, tornando as informações mais acessíveis e memoráveis. Leve em consideração o publico que vai consumir o seu gráfico, comunique com o seu publico de forma que eles entendam o que você está transmitindo.</li>
<li><strong>Tomada de Decisão Informada:</strong> A visualização de dados pode ajudar na tomada de decisões ao fornecer uma representação visual clara dos dados. Isso pode levar a melhores decisões baseadas em dados. Um exemplo disso são os acompanhamentos com KPIs em reuniões executivas, os gestores normalmente olham para alguns faróis e ao bater o olho já sabem o que está indo bem e o que está indo mal.</li>
</ul>
<p>Consegui te explicar a importância da Análise e Visualização de dados para Machine Learning e Ciência de Dados ?</p>
<h2>Quer ver código?</h2>
<p>Python é uma linguagem de programação popular na Ciência de Dados, isso se dá, acima de tudo, pela sua simplicidade e à variedade de bibliotecas disponíveis. As mais comuns são Pandas e NumPy para análise de dados, e Matplotlib e Seaborn para criar gráficos e visualizações interativas.</p>
<p>O Pandas é uma biblioteca Python que permite manipular estruturas de dados de forma rápida, flexível e expressiva. Foi desenvolvida pensando em pessoas que trabalham com dados relacionais ou rotulados, deixando a manipulação fácil e intuitivo. Da mesma forma, o NumPy, que é um pacote de processamento de arrays de forma geral, pois ele fornece um objeto de array multidimensional de alto desempenho e ferramentas para trabalhar com esses arrays.</p>
<p>O Matplotlib é uma biblioteca Python focada na criação de visualizações estáticas, animadas e interativas. Ela permite criar figuras de qualidade para consumir em vários formatos. Já o Seaborn é uma biblioteca baseada em Matplotlib e é particularmente útil para visualizar dados complexos. Não posso falar muito do Seaborn porque não trabalhei com ele ainda&#8230;</p>
<p>Estes pacotes Python que comentei são muito úteis para se trabalhar com Machine Learning e Ciência de Dados, aliás, acredito que usá-los vai te ajudar a resolver problemas de analise e visualização grandes conjuntos de dados e transformar os dados brutos em insights valiosos. Inclusive, durante uma disciplina do doutorado, eu criei um <a href="https://github.com/diegonogare/MachineLearning" target="_blank" rel="noopener">Repo no Github</a> e coloquei alguns códigos lá dentro.</p>
<p>Eu ficaria muito feliz com sua contribuição nesse repo, no final da página do Github explico como você pode contribuir <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>&nbsp;</p>
<blockquote><p><a href="https://www.bing.com/images/create/um-macbook-com-grc3a1ficos-coloridos-em-azul2c-vermelh/1-65aec3c0cc4b4636839d833253f4f8d2?id=e3U55EU%2fvftgjlq5K6%2bLSQ%3d%3d&amp;view=detailv2&amp;idpp=genimg&amp;idpclose=1&amp;FORM=SYDBIC" target="_blank" rel="noopener">Imagem de capa criada com IA pelo Bing</a>. Utilizei o prompt: &#8220;Um macbook com gráficos coloridos em Azul, Vermelho, Verde e Amarelo e um copo de café na mesa, o macbook está em cima de uma mesa de escritório com o fundo de escritório desfocado. Os gráficos são como um dashboard para tomada de decisão&#8221; para a criação.</p></blockquote>
<p>O post <a href="https://diegonogare.net/2024/01/analise-e-visualizacao-de-dados-para-ml-e-ciencia-de-dados/">Análise e visualização de dados para ML e Ciência de Dados</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3734</post-id>	</item>
		<item>
		<title>Primeiros passos em Machine Learning</title>
		<link>https://diegonogare.net/2020/04/primeiros-passos-em-machine-learning/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Wed, 01 Apr 2020 12:00:56 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Estatistica]]></category>
		<category><![CDATA[Linguagem de programação]]></category>
		<category><![CDATA[linguagem R]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=3269</guid>

					<description><![CDATA[<p>Para aprender Machine Learning é interessante saber uma linguagem de programação Pensando em alternativas na construção de soluções envolvendo aprendizagem de máquina, é interessante dar os primeiros passos em Machine Learning. Pode-se fazer isso escolhendo uma linguagem de programação estatística, como o R ou Python, ou então seguindo com serviços cognitivos. Mas afinal, se for...</p>
<p>O post <a href="https://diegonogare.net/2020/04/primeiros-passos-em-machine-learning/">Primeiros passos em Machine Learning</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Para aprender Machine Learning</h1>
<h2>é interessante saber uma linguagem de programação</h2>
<p>Pensando em alternativas na construção de soluções envolvendo aprendizagem de máquina, é interessante dar os primeiros passos em Machine Learning. Pode-se fazer isso escolhendo uma linguagem de programação estatística, como o R ou Python, ou então seguindo com <a href="https://diegonogare.net/2020/03/como-adicionar-inteligencia-artificial-ao-seu-projeto/" target="_blank" rel="noopener noreferrer">serviços cognitivos</a>. Mas afinal, se for para o caminho da linguagem de programação, qual das duas devo investir meu tempo? Seguindo o <a href="https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019" target="_blank" rel="noopener noreferrer">ranking de linguagens de programação da IEEE</a>, em 2019, o Python aparece em primeiro lugar e o R em quinto. Contudo, isso não significa que você deve escolher o Python apenas por isso. Ambas linguagens são ótimas para trabalhar com Machine Learning!</p>
<blockquote><p>Você poderia desenvolver soluções de Machine Learning com qualquer linguagem como Java ou C#, porque no final das contas, os algoritmos são representações matemáticas. Porém, isso não é recomendado, porque estas linguagens são poderosas para alguns tipos de desenvolvimentos mas não possuem módulos específicos para cálculos matriciais complexos.</p></blockquote>
<p>O R é uma das linguagens de programação estatística mais utilizadas para este fim, assim como o Python. Por outro lado, o Python é bastante versátil permitindo inclusive desenvolvimento de aplicações web.</p>
<h2>IDE &#8211; Integrated Development Environment</h2>
<p>As duas linguagens são gratuitas, isso significa que não precisa pagar para desenvolver soluções com elas. Por outro lado as IDEs, que são os software utilizados para escrever os códigos, podem ser cobradas. É muito comum usar o <a href="https://rstudio.com/" target="_blank" rel="noopener noreferrer">RStudio</a> para desenvolver com linguagem R e o <a href="https://www.jetbrains.com/pycharm/" target="_blank" rel="noopener noreferrer">PyCharm</a> para Python. Estas duas IDEs possuem a versão gratuita e a paga. Em ambas a versão gratuita é utilizada principalmente para estudos, e a paga é para quando você terá algum tipo de rentabilidade com a sua solução desenvolvida.</p>
<p>Existem alternativas. Uma é o <a href="https://code.visualstudio.com/" target="_blank" rel="noopener noreferrer">VSCode</a> que tem o Python nativo mas o R precisa ser adicionado como extensão. Ou o <a href="https://jupyter.org/" target="_blank" rel="noopener noreferrer">Jupyter Notebook</a>, que é uma IDE web-based que permite nativamente escolher o Kernel de interpretação do código com Python ou R.</p>
<h2>Comunidade</h2>
<p>Para as duas linguagens existe uma comunidade muito ativa. Esta comunidade publica diariamente vários pacotes de funcionalidades, que resolvem problemas específicos. No R a comunidade se centraliza no <a href="https://cran.r-project.org/" target="_blank" rel="noopener noreferrer">CRAN &#8211; The Comprehensive R Archive Network</a> enquanto a comunidade Python utiliza o <a href="https://pypi.org/" target="_blank" rel="noopener noreferrer">PyPi &#8211; Python Package Index</a>.  Estes pacotes ajudam a acelerar o desenvolvimento, facilitando a execução de tarefas complexas de forma simples. Imagine que você esteja fazendo uma análise exploratória descritiva e necessita gerar diversos gráficos sobre os dados. No R existe o GGPLOT2 que é um dos pacotes mais usados para geração de gráficos, e no Python o MatPlotLib. Mas repare que você não precisará criar do zero, você poderá utilizar algo já pronto que resolve o seu problema de forma específica.</p>
<p>A mesma coisa acontece para os principais pacotes de Machine Learning. Existem pacotes preparados em cada uma das comunidades, que facilitam o desenvolvimento dos seus modelos de aprendizagem de máquina.</p>
<h2>Para aprender</h2>
<p>Sendo totalmente imparcial, para você dar seus primeiros passos em Machine Learning, escolha uma das duas linguagens de programação e se arrisque. Existem diversos cursos gratuitos de R e de Python na internet. O Kaggle possui diversas bases de dados com muitos desafios, assim como o repositório de dataset da UCI. Os fóruns de discussão são ótimos pontos de encontro para tirar duvidas sobre a linguagem. E o principal benefício de escolher entre uma ou outra linguagem, é que a migração entre elas é bastante rápida. Ao aprender uma linguagem, migrar para a outra é questão praticamente de sintaxe. A forma de pensar, e de resolver problemas, é muito similar. Se não se adaptou com R, mude para o Python com muita fluidez.</p>
<p>Ah, outro ponto importante. Não se preocupe em aprender a matemática complexa por trás de cada modelo agora. Sugiro que aprenda uma das linguagens, estude alguns algoritmos que resolvem os principais problemas (classificação binária, classificação multi-classes, regressão linear bivariada, regressão linear multivariada, regressão logística, clustering e regras de associação). Depois que já estiver fluido em resolver problemas com estes algoritmos, ai sim comece a estudar o que eles fazem e como funcionam. Assim poderá entender o que está fazendo, e até melhorar a performance quando for preciso.</p>
<p>O post <a href="https://diegonogare.net/2020/04/primeiros-passos-em-machine-learning/">Primeiros passos em Machine Learning</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3269</post-id>	</item>
		<item>
		<title>Análise do Livro &#8211; Python Machine Learning</title>
		<link>https://diegonogare.net/2020/02/analise-do-livro-python-machine-learning/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Mon, 24 Feb 2020 12:00:19 +0000</pubDate>
				<category><![CDATA[Review de Livro]]></category>
		<category><![CDATA[Análise de Livro]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Scikit-Learn]]></category>
		<category><![CDATA[TensorFlow]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=3163</guid>

					<description><![CDATA[<p>Python Machine Learning Machine Learning e Deep Learning com Python, Scikit-Learn e TensorFlow 2 O livro Python Machine Learning, Third Edition foi escrito por Sebastian Raschka e Vahid Mirjalili, e publicado pela Packt Publishing. Este livro está na terceira edição e cobre assuntos voltados a Machine Learning e Deep Learning, com Python. São 770 páginas...</p>
<p>O post <a href="https://diegonogare.net/2020/02/analise-do-livro-python-machine-learning/">Análise do Livro &#8211; Python Machine Learning</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Python Machine Learning</h1>
<h2>Machine Learning e Deep Learning com Python, Scikit-Learn e TensorFlow 2</h2>
<p>O livro <a href="https://www.amazon.com.br/gp/product/1789955750/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1789955750&amp;linkCode=as2&amp;tag=diegonogare-20&amp;linkId=d9fbebc45cb5a10263053c3d59f2e24a" target="_blank" rel="noopener noreferrer">Python Machine Learning, Third Edition</a><img loading="lazy" decoding="async" style="border: none !important; margin: 0px !important;" src="//ir-br.amazon-adsystem.com/e/ir?t=diegonogare-20&amp;l=am2&amp;o=33&amp;a=1789955750" alt="" width="1" height="1" border="0" /> foi escrito por <strong>Sebastian Raschka</strong> e <strong>Vahid Mirjalili</strong>, e publicado pela <strong>Packt Publishing</strong>. Este livro está na terceira edição e cobre assuntos voltados a Machine Learning e Deep Learning, com Python.</p>
<p>São 770 páginas que conduzem o leitor para sair de tópicos mais triviais como modelos de aprendizagem supervisionada chegando a assuntos muito mais complexos como Deep Learning e criação de redes GAN.</p>
<p>O livro me surpreendeu positivamente com o acompanhamento passo a passo para codificar em Python utilizando a parafernália tecnológica que permite sair do outro lado.  A parte prática aplica os elementos apresentados na teoria. A parte teórica dos capítulos permite entender o que se está desenvolvendo. Ou seja, os autores apresentam um balanceamento fluído entre teoria e prática técnica, fixando o assunto que foi apresentado. Mas não inicie a leitura achando que será algo simples, porque não é! O processo de aprendizagem de máquina é complexo, contudo ao fazer o estudo com seriedade, ao término do livro você conseguirá construir soluções que podem ser <a href="https://diegonogare.net/2020/01/uso-da-inteligencia-artificial-no-cotidiano/" target="_blank" rel="noopener noreferrer">úteis no nosso cotidiano</a>.</p>
<p>E para completar, você pode baixar todos os códigos no <a href="https://github.com/rasbt/python-machine-learning-book-3rd-edition" target="_blank" rel="noopener noreferrer">Github do Sebastian</a>.</p>
<h3>Minha visão</h3>
<p>Os primeiros dois terços do livro, até por volta da página 450 é, mais voltado para processos tradicionais de Machine Learning. Mas o ultimo 1/3 do livro é possível ver muita coisa de Deep Learning com Tensorflow.</p>
<p>O nível de formalização matemática foi além do que precisava ter. Ficou excessivo, já que é um livro prático de mercado e não um artigo acadêmico. Mas que não prejudica a aprendizagem, só cansa um pouco mais. Se não for o seu interesse aprender a formalização matemática, apesar de ser muito importante, não se assuste e siga adiante.</p>
<p>Minha impressão deste livro é que ele permite você compreender a teoria e prática do que é mais moderno em questões de Aprendizagem de Máquina. Contudo, se você busca uma carreira em Inteligência Artificial e Machine Learning, você não precisa ler este livro, você DEVE!</p>
<p>O post <a href="https://diegonogare.net/2020/02/analise-do-livro-python-machine-learning/">Análise do Livro &#8211; Python Machine Learning</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3163</post-id>	</item>
	</channel>
</rss>
