AI for Software Engineers
Please rate the course
Course short description
The modern fullstack developer (frontend, backend, infrastructure) is now complemented by a new component—prediction, from forecasting user behavior to generating text and images using "generative" AI. To stand out as a fullstack engineer these days, it is necessary to develop a deep understanding of these new tools, especially their foundations—neural networks and transformers. In the course, we will explore the nature of data, probabilities, learning, and prediction in machine learning. Then, we will examine how these principles are implemented in neural networks used in deep learning, including key concepts such as gradient descent and backpropagation. We will also delve into how and why to use large language models (LLM), exploring tokenization, embeddings, self-attention, pre-training, and fine-tuning, as well as the heuristics necessary for reliable interaction with models. Additionally, we will discuss how development teams are evolving to integrate this new component into the technology stack. By mastering the basic principles of working with these tools, you will be able to make informed decisions about implementing ML/AI models, confidently discuss them in teams, and gain a competitive advantage in technical interviews.
What you will learn at the workshop:
- How fullstack development evolves considering the predictive capabilities (ML/AI).
- How to use basic model principles to make informed decisions in your work and career.
- How to apply classical machine learning models to create products that do not use neural networks.
- Principles of neural networks: data representation, weights, activations, gradient descent, and backpropagation.
- How large language models represent data through tokenization, embeddings, self-attention mechanism, and transformer architecture, and how this affects decisions about their application.
- How LLM generate text through pre-training and fine-tuning and how to interact effectively with such models.
- Which heuristics can help in the process of creating prompts to achieve the desired results from models.
- What knowledge, skills, and mindset changes are needed for a modern fullstack engineer to work in AI-oriented teams.