189 karma · joined July 9, 2021
It isn't that hard, I was able to run in on M1. The changes are:
remove or modify multiprocessing - it doesn't work on Mac the same way as in the code;
replace `device = "cuda"` with `device = "mps"`
In this line ` att_idxs = (torch.clamp(torch.arange(context_size)[None, :] - torch.arange(context_size)[:, None], -pos_emb_radius, pos_emb_radius-1) % pos_emb_size).to("cuda")` replace cuda with "mps"
in `optim.AdamW` remove `fused=True` - we can't do it without CUDA
Replace ```with autocast(device_type='cuda', dtype=torch.float16): _, loss = mlm_head(bert(batch_data_torch_xs[mb_start_idx:mb_end_idx]), batch_data_torch_ys[mb_start_idx:mb_end_idx]) ```
with simply `_, loss = mlm_head(bert(batch_data_torch_xs[mb_start_idx:mb_end_idx]), batch_data_torch_ys[mb_start_idx:mb_end_idx])`
replace `scaler.scale(corrected_loss).backward()` with `corrected_loss.backward()`
replace ``` scaler.unscale_(optimizer) scaler.step(optimizer) scaler.update() ``` with `optimizer.step()`
It should work.
If you're referring to the legendary lessons, then yes, I complete them as well and find them to be very useful. However, many people don't mention them because they cost a lot of gems for non-premium users (I use Duolingo Super), so they can't consistently complete these lessons. Sentence translation is an important part of language learning, yet it's kept behind a paywall. While I understand that the company needs to earn money, for non-paying users these lessons essentially don't exist.
> For all the complaining that I've seen in the in-app comments for certain translations being incorrectly rejected, I've yet to come across one myself. Unfortunately, this has become a serious problem for me. I didn't encounter such situations at the beginning of the course either, but the further I progress, the more frequently I come across them. It's to be expected, as the content is mostly created by crowdsourcing, and later lessons have fewer people studying them, so not as many people check them. Despite reporting dozens of such cases on Duolingo in the past year, I have yet to receive a single response.
I would love for Duolingo to focus more on content, and not just on gamification. Right now, the main courses (such as Spanish and German) are great, but many courses are short, lack grammar tips, and have mistakes.
Even the Spanish course has problems: I am currently on unit 175 out of 211, and I have noticed that the lessons gradually have more and more problems. Some phrases are stiff, some are completely unnatural (and people complain in the comments), sometimes there are only a handful of accepted translations and we are forced to guess, and sometimes translations are inconsistent - even though several questions have a similar structure, the accepted answers are different.
Another point is the recent redesign. Personally, I'm okay with it and I have no problem with changing the tree into the path. What I didn't like is that the course was artificially inflated, and now we have to repeat the same things many times. One could argue that repetition is key to learning a language, but it can get tedious when you have to answer the same question multiple times without making any mistakes. Furthermore, the exercises themselves are becoming easier - previously there were more questions where it was necessary to type in the full translation, but now in most exercises we only need to input a single word or rearrange the word cards.
Lastly, many people who seriously participate in the leaderboard ranking don't actually learn the language, they simply farm experience. Their usual approach is to rack up XP bonuses and redo a single exercise dozens and even hundreds of times in a row. It's sad that this behavior is encouraged.
As for myself, I use Duolingo simply as an additional practice tool. I use many other resources for actual language learning. I recently reached Spanish B2 level, and many years ago, I reached German B2 and Japanese N3.
Since that time I got more experience, and many people reached out to me with different questions about career, skills, mindset, etc. Now I decided to write a blog post based on my answers to these questions and my experience. I hope it will be useful
But after I had finished reading it, I have realized that it is a sad story, if we look from the eyes of data scientists in the team. People were hired to do cool machine learning projects, but it turned out there is no infrastructure for them. After the new boss had arrived, they had to work as analysts for months. What is more sad - the new boss dangled a carrot before them several times, but each time the carrot disappeared.