huggingface/deep-rl-class

Translating to Russian

blademoon opened this issue · 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.

Notebooks:

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

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 Good afternoon, Thomas. It's not a problem. I'll do it for myself.

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

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 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.

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.

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 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?

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.

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?

@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.

@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

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

@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

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

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

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

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

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

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

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

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

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

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

@blademoon

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

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

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

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

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

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

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

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

@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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

image

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

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

@blademoon

перевел unit1.ipynb. вот здесь мой коммит, в моем форке твоего репо. поправил опечатку тексте и отметил отсутствующую model card словами FIXME (в русской и английской версиях).

делать PR?

был приятно удивлен качеством перевода deepl. но все равно, большое количество тупой работы по копи-пасте в deepl и обратно. есть позыв это как-то оптимизировать, пока не понял как.

@abbbe Добрый день Александр. Поздравляю тебя с Новым 2024 годом! Желаю здоровья, удачи в делах и мирного неба!

По поводу Deepl, там под капотом сверточные сети + я его в переводе конкретно этого домена тренирую уже как почти год. Сначала он ересь выдавал, но со временем стал чаще попадать. Продукт не мой, но там явно применяется Reinforcement learning from human feedback.

У тебя есть моя почта, есть одна идея которую думаю стоит обсудить пока-что не публично. По вопросу оптимизации...

По PR я сейчас еще один блокнот закончу по NLP и посмотрю. Если есть желание, выбери и возьми что-то еще на перевод. Но перед этим черкани мне на почту.

@abbbe Я все верно отметил?

image

@blademoon я собирался делать bonusunit1, но еще ничего не начинал.

У тебя есть моя почта, есть одна идея которую думаю стоит обсудить пока-что не публично. По вопросу оптимизации...

Мммм... не понял, что ты имеешь в виду под тем, что у меня есть твоя почта).
Вроде гитхаб ничего не светит по умолчанию.
Напиши мне на alexandre.bezroutchko@gmail.com

И тебя с Новым Годом, кстати)).

@abbbe Закрепил за тобой bonusunit1. Чтобы не получилось так, что делаем одно и то же.

На почту тебе написал. Пока что на вскидку - думаю перспективы есть, причем существенные у данного подхода. Есть подозрение, что (например) французская команда перевода пошла именно этим путём.

@abbbe Добрый вечер. Подскажи, какой плагин в VSCode ты стаивл чтобы нормально отображались preview для mdx файлов?

@blademoon Привет! Хотел бы присоединиться к переводу курса

@abbbe Добрый вечер. Подскажи, какой плагин в VSCode ты стаивл чтобы нормально отображались preview для mdx файлов?

@blademoon, у меня стоят

image image

Превью работает не очень хорошо.

@abbbe Спасибо. Уже попробовал. Действительно работает так себе к сожалению. Можешь обьяснить как у нас организованная работа @kozhukovv ? Я тут ударными темпами добиваю NLP до конца, а он блин все никак ни кончиться)))

@kozhukovv Отлично! Это прям реально здорово! Я координатор группы перевода. Сейчас немного занят доведением перевода курса NLP до конца. Как только освобожусь, возьмусь за Deep RL.

@abbbe Спасибо. Уже попробовал. Действительно работает так себе к сожалению. Можешь обьяснить как у нас организованная работа @kozhukovv ? Я тут ударными темпами добиваю NLP до конца, а он блин все никак ни кончиться)))

@kozhukovv Отлично! Это прям реально здорово! Я координатор группы перевода. Сейчас немного занят доведением перевода курса NLP до конца. Как только освобожусь, возьмусь за Deep RL.

Супер! Буду ждать информации как вы работаете и приступлю.

@kozhukovv Пока @abbbe введет тебя в курс дела, несколько важных моментов:

  1. Так как Томас пока-что не планирует перевод курса на другие языки, текущий репозиторий курса с переводом располагается здесь - https://github.com/blademoon/deep-rl-class-old. Но тем не менее написал в одном из сообщений в начале, цитирую "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)."
  2. Ознакомься с нашим соглашением о переводе, это поможет тебе упростить работу - https://github.com/blademoon/deep-rl-class/blob/main/units/ru/translation_agreement.txt
  3. Там же в папке ru, ты найдёшь уже переведенные части - https://github.com/blademoon/deep-rl-class/tree/main/units/ru
  4. Как вообще организуется весь процесс перевода можно почитать тут - https://github.com/huggingface/course?tab=readme-ov-file#translating-the-course-into-your-language
  1. Так как Томас пока-что не планирует перевод курса на другие языки, текущий репозиторий курса с переводом располагается здесь - https://github.com/blademoon/deep-rl-class-old.

@blademoon Ты наверное имел ввиду https://github.com/blademoon/deep-rl-class?
Впринципе я со всем ознакомился, на неделе начну переводить. Пингану сюда, какой блок взял.

Спасибо!

@kozhukovv Да. Раньше этот репозиторий был в закрытом варианте. Так как переводил только я один.

Как определишься какую часть берешь для перевода, сообщи мне. Я отмечу в первом сообщении в данном Issue. Так мы учитываем, кто-что переводит. Чтобы не дублировать работу друг друга. Да, если не сложно, напиши мне blademoon@yandex.ru. Это Issue - основной источник информации, но резервный не помещает.

@blademoon я даже не знаю, что я могу обьяснить @kozhukovv, вся коммуникация в этом треде...

кстати, ты не пробовал в https://simpleen.io/ ?
я так понял он понимает MDX и внутри использует DeepL.
не знаю, можно ли там на ходу подкручивать перевод как в самом дипле.

@kozhukovv может быть у тебя есть какие-то конкретные вопросы?

@kozhukovv может быть у тебя есть какие-то конкретные вопросы?

@abbbe Привет! Да вроде бы нет, спасибо большое

На этой неделе начну, как с рабочими моментами разберусь до конца.

@abbbe нет https://simpleen.io/ не использовал. Вообще о нём не слышал.

@kozhukovv @abbbe Кто из вас возьмёт Unit 4. Policy Gradient with PyTorch ?

@abbbe нет https://simpleen.io/ не использовал. Вообще о нём не слышал.

@kozhukovv @abbbe Кто из вас возьмёт Unit 4. Policy Gradient with PyTorch ?

@blademoon Привет, давай я возьму 4 и 8 юнит, как раз PPO сейчас на работе имплементирую.

@kozhukovv Отметил в нашем списке (первое сообщение в этом Issue), проверяй, всё верно указал?

@kozhukovv Отметил в нашем списке (первое сообщение в этом Issue), проверяй, всё верно указал?

Да, супер, спасибо!

@abbbe @kozhukovv Добрый день. Обновил Глоссарий. Добавил перевод некоторый слов и словосочетаний с которыми столкнулся в NLP. Там немного беспорядок. Как найду время - приберусь, дооформлю + дедубликацию сделаю.