Salta el contingut

Solucionari — Questionari inicial Mòdul 5073

Ús intern del docent — no publicar als alumnes.

Pregunta 1

Quin és el llenguatge de programació més utilitzat en l'àmbit de la Intel·ligència Artificial el 2025? Per quin motiu creus que domina?

Python és, amb diferència, el llenguatge dominant en IA el 2025. La seva sintaxi clara i expressiva el fa accessible a persones amb perfils molt diversos. L'ecosistema de biblioteques especialitzades (NumPy, Pandas, Scikit-learn, PyTorch, TensorFlow, Hugging Face Transformers) és incomparable. A més, la gran comunitat, la quantitat de recursos d'aprenentatge disponibles i la integració amb eines de notebooks com Jupyter han consolidat Python com l'estàndard de facto en recerca i producció d'IA.

Pregunta 2

Què és un entorn virtual de Python (venv o conda) i per a què serveix en un projecte d'IA?

Un entorn virtual és un espai aïllat on s'instal·len les dependències d'un projecte concret sense afectar la instal·lació global de Python ni altres projectes. En IA és especialment important perquè les biblioteques com PyTorch o TensorFlow tenen versions específiques que poden ser incompatibles entre si. venv és la solució estàndard de la biblioteca de Python, mentre que conda (Anaconda/Miniconda) gestiona també dependències binàries no-Python, cosa molt útil quan cal CUDA o biblioteques C. L'ús d'entorns virtuals garanteix reproductibilitat i evita el clàssic problema "a la meva màquina funciona".

Pregunta 3

Has sentit parlar de Docker? Descriu breument per a què serveix i si l'has fet servir alguna vegada.

Docker és una plataforma de contenidors que permet empaquetar una aplicació juntament amb totes les seves dependències (sistema operatiu, biblioteques, configuració) en una unitat portable i reproduïble anomenada imatge. Un contenidor s'executa de manera aïllada i idèntica independentment de l'entorn amfitrió (portàtil del desenvolupador, servidor de producció, núvol). En IA facilita el desplegament de models, serveis d'inferència i pipelines de dades sense problemes de compatibilitat. Les respostes dels alumnes sobre si l'han fet servir ajudaran a calibrar el nivell pràctic del grup.

Pregunta 4

Què és NumPy i quina diferència hi ha entre una llista de Python i un array de NumPy?

NumPy és la biblioteca fonamental per al càlcul numèric en Python; proporciona l'objecte ndarray (array multidimensional) i operacions vectoritzades sobre ell. Una llista de Python és una col·lecció genèrica que pot contenir elements de tipus heterogenis i que executa operacions element a element en Python pur, de manera lenta. Un array de NumPy emmagatzema dades d'un únic tipus en memòria contigua i les operacions es deleguen a rutines compilades en C/Fortran, resultant ordres de magnitud més ràpid. A més, NumPy ofereix broadcasting, àlgebra lineal, funcions estadístiques i és la base sobre la qual s'edifiquen Pandas, Scikit-learn i PyTorch.

Pregunta 5

Explica amb les teves paraules que és un Model de Llenguatge Gran (LLM). Posa'n un exemple.

Un Model de Llenguatge Gran (LLM, de l'anglès Large Language Model) és un sistema d'IA entrenat sobre enormes quantitats de text per aprendre patrons estadístics del llenguatge humà. Internament es basa en l'arquitectura Transformer, que utilitza mecanismes d'atenció per capturar relacions entre paraules independentment de la seva distància. Donat un text d'entrada (prompt), el model genera una continuació probable i coherent. Exemples rellevants el 2025 són GPT-4o (OpenAI), Claude 3.7 Sonnet (Anthropic) i Gemini 2.0 (Google). Es fan servir per redactar, resumir, traduir, generar codi i respondre preguntes.

Pregunta 6

Quina diferència hi ha entre GPT-4o, Claude 3.5 Sonnet i LLaMA 3.1? Saps per quin motiu un pot ser preferible a l'altre?

GPT-4o és el model multimodal d'OpenAI accessible via API i ChatGPT; excel·leix en tasques generals i raonament. Claude 3.5 Sonnet és el model d'Anthropic, dissenyat amb èmfasi en seguretat, instruccions llargues i context extens (fins a 200 k tokens), molt valorat per tasques analítiques. LLaMA 3.1 és el model d'Meta amb llicència oberta que permet descarregar-lo i executar-lo localment o en infraestructura pròpia, cosa clau per a privacitat i cost. La tria depèn del cas d'ús: GPT-4o per integració ràpida, Claude per documents llargs, LLaMA per privacitat o sobirania de dades.

Pregunta 7

Que és una API? Has consumit alguna API REST en Python? Descriu l'experiència.

Una API (Application Programming Interface) és un conjunt de protocols i definicions que permet que dues aplicacions es comuniquin. Una API REST utilitza HTTP com a transport i JSON com a format d'intercanvi: el client fa peticions GET, POST, PUT o DELETE a URLs concretes i rep respostes estructurades. En Python s'acostuma a fer servir la biblioteca requests per consumir APIs REST: es crea una sessió, s'afegeixen capçaleres d'autenticació (clau API, Bearer token) i es processa la resposta JSON. Les respostes dels alumnes sobre experiència prèvia orientaran quant temps cal dedicar a la pràctica d'APIs.

Pregunta 8

Que significa "fine-tuning" d'un model d'IA? Quan té sentit fer-ho?

El fine-tuning (ajust fi) consisteix a continuar l'entrenament d'un model preentrenat sobre un conjunt de dades específic del domini, de manera que el model adapti els seus pesos per respondre millor a tasques concretes. Té sentit quan el comportament del model base és insuficient per a un vocabulari molt especialitzat (medicina, dret, enginyeria), un estil de resposta molt particular o un format d'entrada/sortida molt estructurat. No té sentit si el problema es pot resoldre amb bon prompt engineering o RAG, ja que el fine-tuning requereix dades etiquetades de qualitat, infraestructura de GPU i cicles d'avaluació costosos.

Pregunta 9

Que és RAG (Retrieval-Augmented Generation)? Com creus que millora les respostes d'un LLM?

RAG (Retrieval-Augmented Generation) és una arquitectura que combina un sistema de recuperació d'informació amb un LLM generatiu. Quan arriba una pregunta, primer es busquen els fragments de text més rellevants en una base de coneixement externa (habitualment una base de dades vectorial), i després s'incorporen al context del prompt abans que el model generi la resposta. Això millora les respostes perquè el model disposa d'informació actualitzada i específica del domini sense necessitat de reentrenament, redueix les al·lucinacions en anclar la resposta a documents reals i permet citar les fonts, augmentant la traçabilitat i confiança.

Pregunta 10

Has sentit parlar de LangChain o LangGraph? Descriu el que saps d'aquestes biblioteques.

LangChain és un framework Python (i JavaScript) que facilita la construcció d'aplicacions basades en LLMs encadenant components: models, prompts, eines, memòria i recuperadors. Proporciona abstraccions per a RAG, agents i pipelines complexos. LangGraph és una extensió de LangChain que permet modelar fluxos de treball com a grafs dirigits (potencialment cíclics), cosa essencial per a agents que necessiten planificar, actuar i revisar iterativament. LangGraph és especialment potent per a arquitectures multi-agent on diversos agents col·laboren o es controlen mútuament. Ambdues biblioteques evolucionen ràpidament i el 2025 són l'estàndard de facto per a desenvolupament d'agents.

Pregunta 11

Que és un agent d'IA? En quin aspecte difereix d'un simple chatbot?

Un agent d'IA és un sistema que utilitza un LLM com a motor de raonament per decidir autònomament quines accions executar per assolir un objectiu, en lloc de simplement respondre a una pregunta. Un chatbot segueix un guió de conversa i genera text de resposta; un agent, en canvi, pot cridar eines externes (buscar a la web, executar codi, llegir fitxers, invocar APIs), avaluar el resultat i decidir el pas següent en un bucle de raonament-acció fins a completar la tasca. La clau diferencial és l'autonomia en la presa de decisions i la capacitat d'actuar sobre l'entorn.

Pregunta 12

Que és una "alucinació" en el context dels LLMs? Per que es produeix?

Una al·lucinació és quan un LLM genera informació que sembla plausible i convincent però que és facticialment incorrecta o directament inventada. Es produeix perquè els LLMs no "saben" coses en el sentit humà: aprenen patrons estadístics de co-ocurrència de paraules i generen el token més probable donada la seqüència, sense verificar si el contingut és veritat. Quan el model no té prou informació en el context o en els seus pesos, pot "completar" creativament amb dades errònies. És especialment perillosa en àmbits de salut, dret o finances, i motiva l'ús de RAG, grounding i verificació externa.

Pregunta 13

Explica que entens per "convergència tecnològica" entre IA i IoT. Posa un exemple concret.

La convergència entre IA i IoT fa referència a la integració de capacitats d'aprenentatge automàtic i inferència intel·ligent directament als dispositius connectats que capten dades del món físic. En lloc d'enviar totes les dades al núvol per processar-les, els dispositius IoT executen models d'IA localment (Edge AI) per prendre decisions en temps real amb baixa latència. Un exemple concret: una càmera de seguretat intel·ligent que incorpora un model de detecció de persones executant-se al propi chip (per exemple, un processador Hailo o Apple Neural Engine) i que només envia una alerta al servidor quan detecta una intrusió, en lloc d'enviar vídeo continu.

Pregunta 14

Que és RPA (Robotic Process Automation)? Quina diferència hi ha entre RPA clàssic i IPA?

RPA (Robotic Process Automation) és la tecnologia que permet automatitzar tasques digitals repetitives i basades en regles mitjançant robots de programari que imiten les accions d'un humà sobre interfícies gràfiques (clics, formularis, còpies de dades). El RPA clàssic segueix fluxos deterministes i no pot gestionar excepcions no previstes ni entendre contingut no estructurat. L'IPA (Intelligent Process Automation) combina RPA amb IA (OCR, NLP, ML, LLMs) per tractar documents no estructurats, prendre decisions contextuals i aprendre de les excepcions. L'IPA pot processar factures en formats variats, entendre correus electrònics i adaptar-se a canvis de procés sense reprogramació manual.

Pregunta 15

Coneixes eines de "low-code automation" com n8n, Zapier o Make? Per a que serveixen?

Aquestes plataformes permeten crear fluxos d'automatització entre aplicacions i serveis connectant nodes visuals sense escriure gairebé codi. Zapier i Make (antic Integromat) són eines SaaS que integren centenars d'aplicacions (Gmail, Slack, Google Sheets, Salesforce…) amb connectors predefinits. n8n és una alternativa de codi obert i auto-allotjable, molt popular en entorns que requereixen privacitat o personalització. El 2025 totes tres han incorporat nodes d'IA per invocar LLMs, processar documents i construir agents senzills. Serveixen per digitalitzar processos de negoci (notificacions, sincronització de dades, aprovacions) sense necessitat d'un equip de desenvolupament.

Pregunta 16

Que és Microsoft 365 Copilot? Com crees que canviarà la manera de treballar a les oficines?

Microsoft 365 Copilot és la integració de LLMs (basats en GPT-4) directament dins les aplicacions de productivitat de Microsoft: Word, Excel, PowerPoint, Outlook, Teams i altres. Permet generar documents, resumir correus, analitzar dades en fulls de càlcul, crear presentacions i obtenir respostes sobre el contingut de l'organització (SharePoint, OneDrive). Canviarà les oficines perquè reduirà el temps dedicat a tasques rutinàries de redacció i anàlisi, permetrà als treballadors centrar-se en tasques de valor afegit i accelerarà la generació d'informes. Tanmateix, planteja reptes de privacitat, verificació de la informació generada i formació del personal.

Pregunta 17

Que significa "Edge AI"? Posa un exemple de dispositiu on s'executa IA sense connexió al núvol.

Edge AI fa referència a l'execució de models d'intel·ligència artificial directament al dispositiu on es capturen les dades (el "límit" o edge de la xarxa), en lloc d'enviar-les a servidors centralitzats al núvol per processar-les. Això aporta baixa latència, privacitat de les dades, funcionament sense connectivitat i reducció de costos de transmissió. Un exemple concret és el Google Pixel 9 amb el xip Tensor G4, que executa models de transcripció de veu, traducció i generació de text localment al telèfon sense enviar l'àudio a cap servidor. Un altre exemple és la càmera de trànsit amb xip NVIDIA Jetson que detecta infraccions en temps real sense connexió a internet.

Pregunta 18

Que és MLOps? Creus que és important per a un enginyer d'IA en producció? Per que?

MLOps (Machine Learning Operations) és el conjunt de pràctiques, eines i cultura que permet desplegar, monitorar, mantenir i actualitzar models de machine learning en entorns de producció de manera fiable i escalable. Pren prestats principis de DevOps (CI/CD, control de versions, automatització) i els aplica al cicle de vida dels models: preparació de dades, entrenament, avaluació, desplegament i monitoratge del rendiment. És fonamental per a un enginyer d'IA en producció perquè sense MLOps els models es degraden silenciosament (data drift, concept drift), els experiments no són reproduïbles i el desplegament és manual i propens a errors. Eines com MLflow, DVC, Weights & Biases o Kubeflow en formen part.

Pregunta 19

Que entens per "prompt engineering"? Creus que es una habilitat important el 2025?

El prompt engineering és la disciplina de dissenyar i optimitzar les instruccions (prompts) que es proporcionen a un LLM per obtenir respostes de la millor qualitat, precisió i format possibles. Inclou tècniques com few-shot prompting (donar exemples), chain-of-thought (demanar raonament pas a pas), role prompting (assignar un rol al model) i el disseny de sistemes de prompts per a aplicacions. El 2025 continua sent una habilitat important perquè, tot i que els models milloren, la manera de formular les instruccions continua determinant de manera significativa la qualitat del resultat. A més, és la porta d'entrada per a perfils no tècnics a treballar eficaçment amb LLMs.

Pregunta 20

Si haguessis de construir una aplicació que respon preguntes sobre els documents de la teva empresa, com ho faries? Quines eines o tècniques faries servir?

La solució natural és una arquitectura RAG. Primer s'indexen els documents de l'empresa: s'extreu el text (PDF, Word, web), es divideix en fragments (chunks), es genera un embedding vectorial de cada fragment amb un model com text-embedding-3-small d'OpenAI i s'emmagatzema en una base de dades vectorial (ChromaDB, Qdrant, Weaviate o pgvector). Quan un usuari formula una pregunta, es genera el seu embedding, es recuperen els k fragments més similars per similitud cosinus i es construeix un prompt que inclou els fragments com a context. Finalment, un LLM (GPT-4o, Claude, o un model local com LLaMA via Ollama) genera la resposta basant-se en aquell context. Eines de suport: LangChain o LlamaIndex per orquestrar el pipeline, Streamlit per a la interfície i Docker per al desplegament.