Teaching
2023 Spring 3 credits · Year 3-4

Deep Learning for NLP

딥러닝자연어처리

Deep learning techniques for NLP — pre-trained language models and fine-tuning with PyTorch and Hugging Face.

NLP Deep Learning PyTorch Hugging Face

Course Description

This course provides an in-depth introduction to deep learning techniques for natural language processing. The course will cover the latest advances in deep learning research for NLP, with a focus on pre-trained language models and fine-tuning. Students will gain hands-on experience in developing deep learning models for a variety of NLP tasks using PyTorch and Hugging Face’s Transformers library. The course will also cover reinforcement learning for NLP and its application in ChatGPT.

Learning Goals

  • Understand the latest advances in deep learning research for NLP
  • Develop deep learning models for a variety of NLP tasks using PyTorch and Hugging Face’s Transformers library
  • Understand the concepts of pre-trained language models and fine-tuning
  • Understand reinforcement learning for NLP and its application in ChatGPT

Grading

  • Participation: 10%
  • Midterm: 30%
  • Term Project: 60%

Final Project

For the final project, students will work on a real-world NLP problem and develop a deep learning model to solve it. The project will involve pre-processing a dataset, fine-tuning a pre-trained model or developing a custom model, and evaluating the model’s performance. The project report will be presented in a research paper format.

Prerequisites

  • Basic knowledge of Python programming language
  • Basic understanding of deep learning and neural networks
  • Familiarity with PyTorch or other deep learning frameworks

Course Outline

Week 1: Introduction

  • Course overview and introduction to NLP with deep learning
  • Introduction to Python and PyTorch for deep learning
  • Introduction to Hugging Face and the transformers library

Week 2: Getting Started with Hugging Face

  • Overview of Hugging Face’s transformers library
  • Building and training a simple classification model

Week 3: Zero Shot, Prompt, and Search Strategies

  • Introduction to zero-shot learning for NLP
  • Using prompt-based and search-based strategies for NLP tasks

Week 4: What is BLOOM?

  • Overview of the BLOOM algorithm for NLP
  • Building a BLOOM model for a text classification task
  • Working with BLOOM on various NLP tasks

Week 5: Transformers

  • Introduction to the transformer architecture
  • Building a transformer model for a text classification task

Week 6: BERT: Bidirectional Encoder Representations from Transformers

  • Overview of the BERT model and its architecture
  • Fine-tuning BERT for various NLP tasks

Week 7: T5: Text-To-Text Transfer Transformer

  • Overview of the T5 model and its architecture
  • Fine-tuning T5 for various NLP tasks

Week 8: Midterm

Week 9: Tokenization

  • Introduction to tokenization and its importance in NLP
  • Overview of various tokenization techniques

Week 10: SentencePiece Tokenizer

  • Introduction to the SentencePiece tokenizer and its applications
  • Building custom tokenizers with SentencePiece

Week 11: ByT5: Towards a Token-Free Future with Pre-Trained Byte-to-Byte Models

  • Overview of the ByT5 model and its architecture
  • Fine-tuning ByT5 for various NLP tasks

Week 12: ChatGPT: Generative Pre-trained Transformer 3

  • Introduction to the ChatGPT model and its architecture
  • Fine-tuning ChatGPT for conversational AI applications

Week 13: Reinforcement Learning for ChatGPT

  • Introduction to reinforcement learning and its applications in NLP
  • Reinforcement learning with ChatGPT for dialogue generation

Week 14: Pretrained Language Models

  • Overview of pre-trained language models and their applications in NLP
  • Introduction to transfer learning and fine-tuning pre-trained models

Week 15: Conclusion

  • Overview of recent advances in deep learning for NLP
  • Discussion of current research topics and trends
  • Examining the future of deep learning in NLP

Week 16: Final Project Presentations