Coding for Private Reliable and Efficient Distributed Learning
Lecturer (assistant) | |
---|---|
Number | 0000002680 |
Type | Lecture |
Duration | 4 SWS |
Term | Wintersemester 2024/25 |
Language of instruction | English |
Position within curricula | See TUMonline |
Dates | See TUMonline |
Admission information
Objectives
At the end of this course, the students are able to:
- Identify the challenges of modern distributed computing systems and tackle them using coding theory
- Analyze and assess the privacy and the performance guarantees of coding theoretic methods applied to distributed computing
- Manipulate the fundamental secret sharing tool and be able to apply it in several applications to private distributed systems
- Understand the basics of machine learning algorithms
- Implement through programming languages algorithms explained in a research paper, produce their own observations and analyze their findings
- Prepare and present a poster (or a paper) within the standards of international conferences/workshop
Description
This course covers the coding-theoretic tools behind speeding up distributed computing. In addition, data privacy being of crucial importance, this course includes a deep understanding of the main tool behind information-theoretic privacy: secret sharing. Several applications of secret sharing and coding theoretic tools in modern distributed systems and distributed machine learning are then explained together with the impact brought by applying those tools.
More precisely, the course covers the following topics
- Coding to ensure information-theoretic privacy through secret sharing.
- Communication efficient secret sharing: a modification of secret sharing to better suit modern distributed systems
- Basic probability theory such as ordered statistics used to analyze the performance of different techniques used in coding for distributed systems
- Coding for private and fast distributed matrix multiplication, based on secret sharing schemes. Several state-of-the-art techniques will be explained in detail and their performance will be analyzed
- Basics of machine learning algorithms: gradient descent, stochastic gradient descent, linear and logistic regression
- Fast distributed gradient descent with and without coding theory
Prerequisites
Basic knowledge of mathematics, e.g., linear algebra, calculus and probability theory
Basic knowledge of a programming language, e.g., MATLAB or python
The course "Channel Coding" is recommended
Teaching and learning methods
Lectures: The lecturer uses slides and the blackboard (or an iPad) to explain the fundamental theoretical concepts. Lectures are designed to be interactive and to encourage the students to ask questions and initiate discussions with the lecturer and each other.
Tutorials: The lecturer, or teaching assistants, solve concrete problems to simplify the understanding of the theoretical content and help the students better understand the material.
Students’ presentations: Each group of three students nominates one of them to present a paper of their choice. The paper is recent research on topics discussed in class. (Groups of four students nominate two students, each presents a paper)
Poster session: A workshop-style session in which each group of three students nominate one of them to present a poster. The others would go around and ask questions about other posters. This session is designed to introduce the students to environments of international scientific events.
Throughout the semester, the students can ask for question-and-answer sessions and/or lab sessions in which the lecturers and teaching assistants come to answer the students' questions about the topics discussed in class. In lab sessions, the teaching assistants provide help to further their progress in the programming tasks.
Examination
The students would be assessed through a semester-long group-project consisting of three students, and a written exam. The project is divided into three phases: 1) selecting and reading and presenting a research paper; 2) implementing the algorithms presented in the paper and writing a report about own observations; and 3) creating and presenting a poster about the project. The report should consist of 5 to 10 pages. A summary on good practices in writing and structuring a report and a poster will be given during the semester.
The project grading is divided as follows: The grade of student A (who leads phase 1) is equal to 0.5*(group grade for presentation) + 0.25*(group grade for poster) + 0.25*(group grade for re the report). Students B (who leads phase 2) and C (who leads phase 3) are graded in a similar fashion.
The written 60-mins exam consists of problems from the topics explained in class.
The final grade is 2/3*(project grade) + 1/3*(exam grade).