deep-rl-class icon indicating copy to clipboard operation
deep-rl-class copied to clipboard

Translating to Russian

Open artyomboyko opened this issue 2 years ago • 53 comments

Hi!

Let's bring the reinforcement learning course to all the Russian-speaking community 🌏

Would you want to translate? Please follow the 🤗 TRANSLATING guide. Here is a list of the files ready for translation. Let us know in this issue if you'd like to translate any, and we'll add your name to the list.

Some notes:

Please translate using an informal tone (imagine you are talking with a friend about transformers 🤗). Please translate in a gender-neutral way. Add your translations to the folder called ru inside the source folder. Register your translation in ru/_toctree.yml; please follow the order of the English version. Once you're finished, open a pull request and tag this issue by including #issue-number in the description, where issue-number is the number of this issue. Please ping @blademoon for review.

  • [X] Unit 0. Welcome to the course @blademoon
    • [X] Welcome to the course 🤗 @blademoon
    • [X] Setup @blademoon
    • [X] Discord 101 @blademoon
  • [X] Unit 1. Introduction to Deep Reinforcement Learning @blademoon
    • [X] Introduction @blademoon
    • [X] What is Reinforcement Learning? @blademoon
    • [X] The Reinforcement Learning Framework @blademoon
    • [X] The type of tasks @blademoon
    • [X] The Exploration/ Exploitation tradeoff @blademoon
    • [X] The two main approaches for solving RL problems @blademoon
    • [X] The “Deep” in Deep Reinforcement Learning @blademoon
    • [X] Summary @blademoon
    • [X] Glossary @blademoon
    • [X] Hands-on @blademoon
    • [X] Quiz @blademoon
    • [X] Conclusion @blademoon
    • [X] Additional Readings @blademoon
  • [X] Bonus Unit 1. Introduction to Deep Reinforcement Learning with Huggy @blademoon
    • [X] Introduction @blademoon
    • [X] How Huggy works? @blademoon
    • [X] Train Huggy @blademoon
    • [X] Play with Huggy @blademoon
    • [X] Conclusion @blademoon
  • [X] Live 1. How the course work, Q&A, and playing with Huggy @blademoon
    • [X] Live 1. How the course work, Q&A, and playing with Huggy 🐶 @blademoon
  • [X] Unit 2. Introduction to Q-Learning @blademoon
    • [X] Introduction @blademoon
    • [X] What is RL? A short recap @blademoon
    • [X] The two types of value-based methods @blademoon
    • [X] The Bellman Equation, simplify our value estimation @blademoon
    • [X] Monte Carlo vs Temporal Difference Learning @blademoon
    • [X] Mid-way Recap @blademoon
    • [X] Mid-way Quiz @blademoon
    • [X] Introducing Q-Learning @blademoon
    • [X] A Q-Learning example @blademoon
    • [X] Q-Learning Recap @blademoon
    • [X] Glossary @blademoon
    • [X] Hands-on @blademoon
    • [X] Q-Learning Quiz @blademoon
    • [X] Conclusion @blademoon
    • [X] Additional Readings @blademoon
  • [ ] Unit 3. Deep Q-Learning with Atari Games @blademoon
    • [X] Introduction @blademoon
    • [X] From Q-Learning to Deep Q-Learning @blademoon
    • [X] The Deep Q-Network (DQN) @blademoon
    • [X] The Deep Q Algorithm @blademoon
    • [X] Glossary @blademoon
    • [ ] Hands-on @blademoon 🎯
    • [X] Quiz @blademoon
    • [X] Conclusion @blademoon
    • [X] Additional Readings @blademoon
  • [X] Bonus Unit 2. Automatic Hyperparameter Tuning with Optuna @blademoon
    • [X] Introduction @blademoon
    • [X] Optuna @blademoon
    • [X] Hands-on @blademoon
  • [ ] Unit 4. Policy Gradient with PyTorch @kozhukovv
    • [ ] Introduction @kozhukovv
    • [ ] What are the policy-based methods? @kozhukovv
    • [ ] The advantages and disadvantages of policy-gradient methods @kozhukovv
    • [ ] Diving deeper into policy-gradient @kozhukovv
    • [ ] (Optional) the Policy Gradient Theorem @kozhukovv
    • [ ] Hands-on @kozhukovv
    • [ ] Quiz @kozhukovv
    • [ ] Conclusion @kozhukovv
    • [ ] Additional Readings @kozhukovv
  • [ ] Unit 5. Introduction to Unity ML-Agents
    • [ ] Introduction
    • [ ] How ML-Agents works?
    • [ ] The SnowballTarget environment
    • [ ] The Pyramids environment
    • [ ] (Optional) What is curiosity in Deep Reinforcement Learning?
    • [ ] Hands-on
    • [ ] Bonus. Learn to create your own environments with Unity and MLAgents
    • [ ] Conclusion
  • [ ] Unit 6. Actor Critic methods with Robotics environments
    • [ ] Introduction
    • [ ] The Problem of Variance in Reinforce
    • [ ] Advantage Actor Critic (A2C)
    • [ ] Hands-on: Advantage Actor Critic (A2C) using Robotics Simulations with PyBullet and Panda-Gym 🤖
    • [ ] Conclusion
    • [ ] Additional Readings
  • [ ] Unit 7. Introduction to Multi-Agents and AI vs AI
    • [ ] Introduction
    • [ ] An introduction to Multi-Agents Reinforcement Learning (MARL)
    • [ ] Designing Multi-Agents systems
    • [ ] Self-Play
    • [ ] Hands-on: Let's train our soccer team to beat your classmates' teams (AI vs. AI)
    • [ ] Conclusion
    • [ ] Additional Readings
  • [ ] Unit 8. Part 1 Proximal Policy Optimization (PPO) @kozhukovv
    • [ ] Introduction @kozhukovv
    • [ ] The intuition behind PPO @kozhukovv
    • [ ] Introducing the Clipped Surrogate Objective Function @kozhukovv
    • [ ] Visualize the Clipped Surrogate Objective Function @kozhukovv
    • [ ] PPO with CleanRL @kozhukovv
    • [ ] Conclusion @kozhukovv
    • [ ] Additional Readings @kozhukovv
  • [ ] Unit 8. Part 2 Proximal Policy Optimization (PPO) with Doom @kozhukovv
    • [ ] Introduction @kozhukovv
    • [ ] PPO with Sample Factory and Doom @kozhukovv
    • [ ] Conclusion @kozhukovv
  • [ ] Bonus Unit 3. Advanced Topics in Reinforcement Learning
    • [ ] Introduction
    • [ ] Model-Based Reinforcement Learning
    • [ ] Offline vs. Online Reinforcement Learning
    • [ ] Reinforcement Learning from Human Feedback
    • [ ] Decision Transformers

Notebooks:

  • [X] Unit 1 Notebook @abbbe
  • [ ] Bonus Unit 1 Notebook @abbbe
  • [X] Unit 2 Notebook @blademoon
  • [X] Unit 3 Notebook @blademoon
  • [X] Bonus Unit 3 icra22_optuna_lab.ipynb @blademoon
  • [ ] Unit 4 Notebook 🎯
  • [ ] Unit 5 Notebook
  • [ ] Unit 6 Notebook

Video subtitles:

  • [ ] Bonus Unit 3, Automatic Hyperparameter Optimization @ ICRA 22 | Tools for Robotic RL 6/8
  • [ ] Bonus Unit 3, Hyperparameter Tuning with Optuna Notebook @ ICRA 22 | Tools for Robotic RL 7/8

artyomboyko avatar Aug 29 '23 13:08 artyomboyko

Hey there👋 thanks for your work. As mentionned in Discord we don't support other languages for this course for now contrary to the transformer course.

However, what we can do is I can create a moon-ci-docs.huggingface.co link that will allow you to share to people who want to follow the course in Russian (and also see what the course looks like).

simoninithomas avatar Aug 30 '23 07:08 simoninithomas

@simoninithomas Good afternoon, Thomas. It's not a problem. I'll do it for myself.

artyomboyko avatar Aug 30 '23 08:08 artyomboyko

@simoninithomas Good afternoon Thomas If you change your mind, tag me. My translation work can be found here.

artyomboyko avatar Sep 03 '23 08:09 artyomboyko

Hey there 👋 thanks for your work. As I mentionned what we can do is if you open a PR on this repo is that I can generate a link so that people can read it from the website directly. But we don't plan to merge it for now 🤗 .

simoninithomas avatar Sep 13 '23 09:09 simoninithomas

@simoninithomas Hello Thomas. I've resumed work on the translation. Thanks for the openness. It's in a private repository for now. As soon as I'm done. We'll do as you suggested. Okay?

At the moment I have finalized the translation of the audio course. Now I can fully dedicate myself to translating your course.

artyomboyko avatar Oct 26 '23 15:10 artyomboyko

Good afternoon. Important note for all those who are interested in translating the course into Russian. At the moment the translation is stored in a private repository. Those who wish to join the translation - tag me in this issue.

In the first message of this issue you can track the current status of the translation process. I try to keep it up to date.

artyomboyko avatar Nov 06 '23 15:11 artyomboyko

Good afternoon. Important note for all those who are interested in translating the course into Russian. At the moment the translation is stored in a private repository. Those who wish to join the translation - tag me in this issue.

@blademoon I would like to join the cause ;)

abbbe avatar Dec 14 '23 17:12 abbbe

@abbbe Good afternoon. I will prepare an open repository containing the current state of translation and come back with feedback. A few questions:

  1. Are you a native speaker of Russian?
  2. Have you already participated in the translation of HuggingFace courses?

artyomboyko avatar Dec 15 '23 05:12 artyomboyko

Yes, I am a native speaker. I did not translate courses before.

By the way, I am following the course now, if you find a way to share with me the existing texts (rendered html, pdf, whatever) I could proofread them as I go along.

abbbe avatar Dec 15 '23 06:12 abbbe

My open course translation repository https://github.com/blademoon/deep-rl-class.

@abbbe Now you can create your own fork of my repo and start proofreading the material. Note, for stability of translation in case several people will translate, I have prepared a file https://github.com/blademoon/deep-rl-class/blob/main/units/ru/translation_agreement.txt.

If you have any questions, tag me.

artyomboyko avatar Dec 17 '23 07:12 artyomboyko

Thanks.@blademoon How to communicate that parts I work on? Is it a fully manual process or there some lifehacks/browser/jupyter plugins etc to speed up the translation?

abbbe avatar Dec 17 '23 08:12 abbbe

@simoninithomas Hellow Thomas. Can you move all English-language materials to the en subdirectory in the notebooks and units directories? So that the folder structure supports the multilingual format of the course (similar to other HuggingFace courses)? This would greatly simplify the work of the translation team I am coordinating.

artyomboyko avatar Dec 17 '23 08:12 artyomboyko

@abbbe You can tag me here and describe what you are doing and with what part of the course. I will repost your chosen part in the first post of this issue. For now, the central repository of the translation will be my repository.

image

artyomboyko avatar Dec 17 '23 08:12 artyomboyko

Ok, will keep you posted. It will take me a little while to proofread the part you done already.

abbbe avatar Dec 17 '23 08:12 abbbe

@abbbe All basic background information regarding the translation process will be contained in the file https://github.com/blademoon/deep-rl-class/blob/main/units/ru/translation_agreement.txt.

I will try to finalize it a bit today based on the experience of the work we have already done in the course

artyomboyko avatar Dec 17 '23 08:12 artyomboyko

@blademoon, глоссарий и его перевод - отличная идея. гпт4 предлагает "state-action values" => "значения состояния-действия", имхо вполне осмысленно.

abbbe avatar Dec 17 '23 08:12 abbbe

@abbbe Я предпочитаю Deepl. В нём можно словарь сопоставлений вбить. Но все равно нужно внимательнее быть. Иногда ересь откровенную несут - галлюцинируют.

artyomboyko avatar Dec 17 '23 09:12 artyomboyko

@abbbe Сделал https://github.com/blademoon/deep-rl-class/blob/main/units/ru/translation_agreement.txt. Если будут вопросы - пишите здесь.

artyomboyko avatar Dec 17 '23 10:12 artyomboyko

@abbbe Как успехи? Удалось разобраться в MDX? Нужно быть довольно аккуратным в выборе редактора, чтобы редактор не добавлял дополнительные символы форматирования. Томас сказал что можно будет после окончания перевода поднять отдельный сервер с переводом курса.

artyomboyko avatar Dec 17 '23 17:12 artyomboyko

@blademoon я еще не смотрел... у меня сдача проекта в среду в обед, после этого начну.

abbbe avatar Dec 17 '23 17:12 abbbe

@abbbe OK. Тегай, если что.

artyomboyko avatar Dec 17 '23 18:12 artyomboyko

@abbbe По поводу "state-action values", можешь добавить в глоссарий? Если не найдём варианта лучше, то оставим этот. Там вообще речь идёт про пару значение и соответствующее ему действие, если я правильно помню.

Пока что рекомендую вычитать уже переведенный материал, так ты сможешь войти в тему и терминологию. Могу еще книги порекомендовать. Чтобы была "опорная база". Проблема в том, что по теме RL не так много публикаций (в отличие от тог же NLP), поэтому терминология в части перевода не очень устойчива. Но помогу чем смогу.

Вообще - отлично что тоже можешь взяться за перевод)

Я пока что добиваю перевод курса по NLP. Там еще 3 части последние повисли без перевода.

artyomboyko avatar Dec 20 '23 18:12 artyomboyko

@blademoon

По поводу "state-action values", можешь добавить в глоссарий? Если не найдём варианта лучше, то оставим этот. Там вообще речь идёт про пару значение и соответствующее ему действие, если я правильно помню.

Хорошо. Я посмотрю еще по контексту как доберусь до этого термина и добавлю.

Пока что рекомендую вычитать уже переведенный материал, так ты сможешь войти в тему и терминологию. Могу еще книги порекомендовать. Чтобы была "опорная база". Проблема в том, что по теме RL не так много публикаций (в отличие от тог же NLP), поэтому терминология в части перевода не очень устойчива. Но помогу чем смогу.

Хорошо, буду обращаться. Я не совсем чистый лист в этой области, год назад довольно плотно ее изучал. Интересно как пойдет перевод, обычно читать технические тексты на русском это боль).

Вообще - отлично что тоже можешь взяться за перевод)

Попробую сделать свой скромный вклад).

Я пока что добиваю перевод курса по NLP. Там еще 3 части последние повисли без перевода.

У меня немного съехал планнинг, все еще дочищаю хвосты по работе. Конец года, напряжённое время. А сегодня надо уезжать уже. Но еще пара дней, все чуть устаканится и в отпуске точно будет время.

abbbe avatar Dec 22 '23 06:12 abbbe

@blademoon с мдх вроде все понятно, тот же макрдаун. я поставил пару плагинов в Visual Studio Code, вроде все работает, только превью глючит.

вычитываю bonusunit1, вроде норм идет пока. прочитал how-huggy-works и train.

  1. Следовательно, наша функция вознаграждения должна транслировать эту цель.

стилистически это не идеально, наверное. по-русски, скорее "отражать" или типа того. как думаешь, мне надо такими моментами заморачиваться? в принципе понятно о чем речь.

  1. там есть английский текст внутри картинок, иллюстрирующей reward function, например. и потом в цикле обучения. тоже не морочимся? можно в принципе отдельно дать пояснения как-то к диаграммам.

  2. необходимо указать сообщение о фиксации (commit message)

может просто "сообщение коммита"? в русскоязычных доках гита не переводят на русский этот термин https://git-scm.com/book/ru/v2/Основы-Git-Запись-изменений-в-репозиторий

abbbe avatar Dec 24 '23 17:12 abbbe

@abbbe

  1. Если хочешь поменять, то меняй, мне оба варианта нравятся. Но думаю мы это можем оставить на последний этап - вычитку перевода. Это когда мы проходим курс и параллельно проверяем наш перевод. Мне подход "сначала переводим и стараемся не напортачить, затем уже причёсываем" нравиться больше.

  2. Картинки мы все равно не сможем поменять. Они прикручиваются в процессе сборки файлов курса. Давай сначала переведем текст. Вот это будет куда более серьезным подспорьем.

  3. Я решил это перевести потому что не очень здорово когда у нас одни сплошные неологизмы в тексте. Я конечно не сторонник пытаться переводить то, что прям явно является неологизмом не имеющим аналогов в русском языке (например не вижу смысла переводить "tokenizer", просто образую неологизм "токенайзер" и заношу в глоссарий). Но думаю когда ты прочитаешь текст в котором одни сплошные неологизмы, то согласишься что это больше на транслитерацию похоже))) Но давай сделаем "сообщение commit" (или нужно еще подумать как это оформить). Так как тут момент довольно скользкий. Главное чтобы текст потом "читабельный" был для начинающих специалистов.

Обрати особое внимание на теорию первых двух частей. Это тебе позволит быстрее войти в тему, что упростит твою работу в дальнейшем.

В качестве начала могу предложить перевести ноутбуки для блока 1 и бонусного блока 1. У меня к сожалению времени пока не хватает. Добиваю NLP. Если возьмешься, то скажи об этом прямо. Я отмечу тебя в первом сообщении данного Issue. Чтобы у нас не возникло ситуации когда мы делаем одно и то же.

artyomboyko avatar Dec 25 '23 19:12 artyomboyko

@abbbe Заведи отдельный файл рядом с соглашением о переводе, туда записывай все моменты которые ты считаешь можно улучшить (чтобы потом не вспоминать где это). Мы обсудим и внесем коррективы на этапе проверки перевода.

Самое, на мой взгляд главное - оставаться максимально близко к оригинальной формулировке фразы, но это не означает что прямо совсем фанатично. Все же мы делаем адаптивный перевод, где это возможно.

artyomboyko avatar Dec 25 '23 19:12 artyomboyko

Если хочешь поменять, то меняй, мне оба варианта нравятся. Но думаю мы это можем оставить на последний этап - вычитку перевода. Это когда мы проходим курс и параллельно проверяем наш перевод. Мне подход "сначала переводим и стараемся не напортачить, затем уже причёсываем" нравиться больше.

Я думал я именно этим и занимаюсь - прохожу курс и параллельно вычитываю твой перевод. Я так понимаю ты имеешь в виду, что ты сам будешь вычитывать. Давай тогда я не буду тратить время на вычитку, ок?

Я решил это перевести потому что не очень здорово когда у нас одни сплошные неологизмы в тексте. ... Так как тут момент довольно скользкий. Главное чтобы текст потом "читабельный" был для начинающих специалистов.

Да, субъективные моменты. Просто конкретно здесь в случае git commit message, имхо если есть референс в виде официальной русскоязычной документации гита, можно не ломать голову. Ну да ладно, малозначительный момент.

Заведи отдельный файл рядом с соглашением о переводе, туда записывай все моменты которые ты считаешь можно улучшить (чтобы потом не вспоминать где это). Мы обсудим и внесем коррективы на этапе проверки перевода.

Думаешь стоит отдельно такой журнал вести? Я вношу коррективы в текст сразу, сделаю PR потом, какие правки тебе по душе - возьмешь.

В качестве начала могу предложить перевести ноутбуки для блока 1 и бонусного блока 1.

Хорошо, давай переведу bonus-unit1.ipynb, я все равно сейчас этим блоком занимаюсь.

abbbe avatar Dec 25 '23 22:12 abbbe

@abbbe все правильно делаешь. Лучше если ты сделаешь вычитку переведенного мной материала, а я переведенного тобой. Мы так делали при переводе курса по аудио. Так качество существенно выше. Меньше субъективного.

По корективам лучше через файл. Чтобы знать где они вносились. Когда объем перевода вырастет, ты поймёшь.

artyomboyko avatar Dec 25 '23 22:12 artyomboyko

@blademoon я по ошибке начал unit1.ipynb переводить, напиши его на меня тоже

abbbe avatar Dec 25 '23 23:12 abbbe

image

что-то я не пойму, тут в середине этого скриншота, должна быть, но пропущена карточка модели?

должно быть что-то типа

abbbe avatar Dec 25 '23 23:12 abbbe