Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Inteligência Artificial
Departamento / Department
Departamento de Ciências e Tecnologias da Informação
Ano letivo / Execution Year
2025/2026
Pré-requisitos / Pre-Requisites
É esperado que os estudantes tenham alguns conhecimentos de: - Programação; - Aprendizagem Automática Supervisionada; - Text Mining.
Objetivos Gerais / Objectives
O principal objetivo desta unidade curricular é desenvolver nos estudantes a capacidade de compreender, descrever e aplicar os métodos mais avançados e recentes de Processamento de Linguagem Natural e modelos de linguagem de larga escala (LLMs), com ênfase nas suas arquiteturas, técnicas de treino e aplicações práticas. Para atingir este objetivo, abordar-se-ão os fundamentos teóricos de LLMs, técnicas de afinação de modelos, aplicadas técnicas de PLN em tarefas como reconhecimento de entidades, análise semântica, geração de texto, sumarização de conteúdo e tradução automática. Além destes tópicos, também se abordarão métricas de avaliação dos modelos, estratégias de otimização do seu desempenho e multimodalidade. Por fim, pretende-se que o aluno seja capaz de implementar os tópicos abordados em aula recorrendo a bibliotecas como o PyTorch, utilizando a linguagem de programação Python para a implementação prática destas soluções computacionais.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
No final da UC, cada estudante deverá ser capaz de: OA1. Compreender os fundamentos teóricos dos modelos de linguagem generativos (LLMs) e da arquitetura Transformer. OA2. Explorar técnicas de treino e ajuste para a personalização de LLMs. OA3. Implementar, treinar, testar e validar LLMs utilizando bibliotecas como Hugging Face e PyTorch. OA4. Aplicar LLMs a tarefas práticas do Processamento Computacional da Língua (PCL) como o reconhecimento de entidades nomeadas, a análise de sentimento, a geração de texto, a sumarização e a tradução. OA5. Avaliar o desempenho dos modelos em tarefas de PCL utilizando métricas e benchmarks adequados. OA6. Melhorar o desempenho dos LLMs através da utilização de técnicas de Geração Aumentada por Recuperação de Informação (RAG, Retrieval-Augmented Generation). OA7. Aplicar modelos de linguagem multimodais e compreender os seus usos principais, como analisar o conteúdo de imagens, identificar objetos específicos e criar legendas automáticas.
Conteúdos Programáticos / Syllabus
CP1. Conceitos fundamentais dos LLMs e da arquitetura Transformer, incluindo mecanismos de atenção e codificação posicional. CP2. Aplicação prática de LLMs usando ferramentas como Hugging Face e PyTorch para a criação e otimização de modelos. CP3. Métodos de treino e ajuste de modelos para personalização para diferentes contextos. CP4. Implementação de soluções para tarefas como reconhecimento de entidades nomeadas, análise de sentimento, geração de texto, sumarização e tradução. CP5. Métricas apropriadas para avaliar o desempenho dos modelos em tarefas de PCL. CP6. Modelos de Geração Aumentada por Recuperação de Informação (RAG, Retrieval-Augmented Generation) para melhorar o desempenho dos LLMs. CP7. Modelos de linguagem multimodais e exploração de tarefas como classificação de imagens, deteção de objetos e descrição de conteúdos.
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular unit's content dovetails with the specified learning outcomes
O CP1 introduz os conceitos fundamentais dos LLMs e da arquitetura Transformer, fornecendo a base teórica essencial para o OA1. Em seguida, o CP2 apresenta ferramentas como Hugging Face e PyTorch, preparando os estudantes para a implementação prática e alinhando-se com o OA3. O CP3 aprofunda as técnicas de treino e ajuste para personalização, correspondendo diretamente ao OA2. Com base nesse conhecimento, é possível aplicar os modelos a diferentes tarefas de PCL no CP4, cobrindo casos práticos como reconhecimento de entidades nomeadas, análise de sentimento, geração de texto e tradução, o que está diretamente ligado ao OA4. O CP5 introduz as métricas adequadas para avaliar o desempenho dos modelos, correspondendo a OA5. O CP6 foca-se na aplicação de técnicas avançadas, como a RAG, o que permite aos estudantes aprofundar o OA6. Por fim, o CP7 aborda os modelos de linguagem visuais, onde são exploradas tarefas que integram texto e imagem em soluções práticas, cobrindo o OA7."
Avaliação / Assessment
Nesta UC apenas é possível obter aprovação por avaliação ao longo do semestre, não sendo contemplada a modalidade de avaliação por exame. A avaliação consiste em 2 componentes: 1. Trabalhos de grupo realizados ao longo do semestre: - Apresentação de um artigo científico (5%). - Ajuste de um LLM para um domínio específico (10%). - Desenvolvimento de um estudo de caso com correta avaliação do modelo (40%). - Criação de um modelo para aprimorar o LLM desenvolvido no trabalho 2 (25%). 2. Teste de avaliação (20%). A média dos trabalhos de grupo e do teste de avaliação exige uma nota mínima de 9,5 valores. Melhoria de nota só pode ser feita repetindo o processo de avaliação no ano seguinte. A presença nas sessões síncronas não é obrigatória.
Metodologias de Ensino / Teaching methodologies
A metodologia de ensino-aprendizagem desta unidade curricular é centrada no estudante, que assume um papel protagonista no seu próprio processo formativo. Esta abordagem promove a autonomia, a reflexão crítica e a aplicação prática dos conteúdos teóricos, permitindo o desenvolvimento de competências técnicas e transversais relevantes. A aprendizagem combina momentos síncronos e assíncronos, recorrendo a estratégias diversificadas que facilitam a assimilação e aplicação do conhecimento. A aprendizagem baseada em projetos (Project-Based Learning - PBL) desempenha um papel central, incentivando os estudantes a desenvolver projetos individuais e em grupo, nos quais aplicam os conceitos adquiridos na resolução de problemas concretos e práticos. Esta metodologia promove a criatividade, a inovação e a capacidade de transferir o conhecimento teórico para soluções reais. Por outro lado, a aprendizagem baseada em problemas desafia os estudantes a investigar e resolver questões relacionadas com manipulação, processamento e classificação de imagens. Esta abordagem fomenta a pesquisa autónoma, o pensamento crítico e a capacidade de lidar com problemas complexos de forma estruturada e eficaz. Através da aprendizagem por tarefas, os estudantes realizam atividades com níveis progressivos de complexidade, que permitem a aplicação prática dos conteúdos teóricos e práticos abordados em aula. Estas tarefas visam consolidar o conhecimento e desenvolver competências específicas, com especial destaque para o uso de ferramentas como HuggingFace e Pytorch. As aulas teóricas e interativas fornecem os fundamentos conceptuais e estruturais da unidade curricular, alinhando os conteúdos com os objetivos de aprendizagem. Estas sessões incentivam a participação ativa dos estudantes através de discussões orientadas e da análise crítica de casos reais, estabelecendo uma ponte entre teoria e prática. A aprendizagem colaborativa é incentivada através do trabalho em grupo, onde os estudantes trabalham em conjunto para atingir os objetivos de aprendizagem. Esta dinâmica promove a comunicação e o trabalho em equipa, além de encorajar a reflexão sobre o próprio processo de aprendizagem. O uso de recursos digitais interativos é também uma componente essencial desta UC. Através de uma plataforma de e-learning, são disponibilizados materiais como vídeos, tutoriais, quizzes, que facilitem a aprendizagem autónoma, o envolvimento contínuo e a motivação dos estudantes. Esta abordagem pedagógica assenta em três princípios fundamentais: o estudante é um agente ativo do seu processo de aprendizagem; o conhecimento é construído de forma autónoma e colaborativa; e a aprendizagem está orientada para a resolução de problemas reais, garantindo uma formação profunda e integrada. A metodologia adotada assegura uma articulação coerente entre os métodos de ensino e os objetivos de aprendizagem, permitindo aos estudantes desenvolver competências aplicáveis em contextos reais e profissionais.
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
A metodologia de ensino desta unidade curricular (UC) combina uma base teórica sólida com a experimentação prática, permitindo aos estudantes compreender os fundamentos dos LLMs e aplicar técnicas avançadas de PLN. Esta abordagem ativa e centrada no estudante assegura a articulação entre teoria e prática, promovendo a resolução de problemas reais e o desenvolvimento de competências técnicas e analíticas. As aulas teóricas fornecem os conceitos fundamentais e incentivam a análise crítica de artigos científicos, permitindo que os estudantes consolidem o conhecimento e discutam as aplicações dos LLMs, em linha com os objetivos de aprendizagem. Paralelamente, as atividades práticas, realizadas em ferramentas como Jupyter Notebooks, PyTorch e Hugging Face, possibilitam a implementação de estratégias de fine-tuning e a construção de pipelines de PLN funcionais, facilitando a adaptação de modelos a domínios específicos. A resolução de estudos de caso desempenha um papel central ao expor os estudantes a problemas concretos de PLN, como reconhecimento de entidades, análise semântica, geração de texto, sumarização e tradução. Estas atividades desenvolvem a capacidade de análise crítica e de formulação de soluções adequadas, reforçando a ligação entre teoria e prática. A avaliação crítica dos modelos através de métricas de desempenho permite aos estudantes interpretar os resultados e propor melhorias, promovendo o pensamento crítico e a otimização contínua. Os estudantes também exploram abordagens avançadas, como a criação de soluções que integram recuperação de informação e geração de texto utilizando modelos RAG. A combinação de sessões teóricas e práticas permite a aplicação desta técnica em cenários concretos. Adicionalmente, são introduzidos modelos de linguagem visuais, com foco em tarefas como classificação, deteção e descrição de imagens, assegurando uma compreensão prática das potencialidades dos modelos multimodais. A aprendizagem autónoma é incentivada através da exploração independente de ferramentas e da realização de trabalhos práticos, consolidando a capacidade de adaptação a novas tecnologias e metodologias. A combinação entre teoria, prática e atividades colaborativas, como projetos de grupo, desenvolve competências transversais, como a comunicação e o trabalho em equipa, essenciais no contexto profissional. Esta abordagem pedagógica garante que os estudantes desenvolvem uma compreensão aprofundada dos LLMs e das técnicas de PLN, adquirindo competências práticas para resolver problemas reais. A metodologia adotada assegura a coerência com os objetivos de aprendizagem, promovendo o desenvolvimento de soluções inovadoras e preparando os estudantes para desafios técnicos e profissionais.
Observações / Observations
.
Bibliografia Principal / Main Bibliography
"Dan Jurafsky and James H. Martin. Speech and Language Processing (2024 pre-release) (https://web.stanford.edu/~jurafsky/slpdraft/) Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning (https://www.deeplearningbook.org/) Delip Rao and Brian McMahan. Natural Language Processing with PyTorch Lewis Tunstall, Leandro von Werra, and Thomas Wolf. Natural Language Processing with Transformers (https://transformersbook.com/)
Bibliografia Secundária / Secondary Bibliography
Data da última atualização / Last Update Date
2025-05-23