JAX in 100 Seconds

  Рет қаралды 430,685

Fireship

Fireship

Күн бұрын

Пікірлер: 668
@rafaelsanchezmartinez9393
@rafaelsanchezmartinez9393 4 ай бұрын
Now I have 10 years of experience in JAX. NICE!
@ArthurKhazbs
@ArthurKhazbs 4 ай бұрын
Well done! Congratulations!
@user-pe7gf9rv4m
@user-pe7gf9rv4m 4 ай бұрын
parallelized
@hoskdjciianbflso
@hoskdjciianbflso 4 ай бұрын
Enough years for Jax
@Cfomodz
@Cfomodz 4 ай бұрын
Good because that's the min req for the newest jobs using it
@LabiaLicker
@LabiaLicker 4 ай бұрын
*writes in resume
@justingolden87
@justingolden87 4 ай бұрын
"Imagine you're writing a nuclear warhead in your mom's basement" Oh I don't have to imagine fireship
@gezenews
@gezenews 4 ай бұрын
Lol worst day to possibly make that joke.
@Roiadas
@Roiadas 4 ай бұрын
Relatable
@JoaoLucas-fo8gv
@JoaoLucas-fo8gv 4 ай бұрын
FBI would like to know your location
@GLUBSCHI
@GLUBSCHI 4 ай бұрын
@@gezenews?
@franciscos.2301
@franciscos.2301 4 ай бұрын
​@@GLUBSCHI he must know something we don't 😳
@jonathansmith8070
@jonathansmith8070 4 ай бұрын
Active: Jax enters Evasion, a defensive stance, for up to 2 seconds, causing all basic attacks against him to miss. Jax also takes 25% reduced damage from all champion area of effect abilities. After 1 second, Jax can reactivate to end it immediately.
@deathpacito8702
@deathpacito8702 4 ай бұрын
Active: Jax enters Evasion, a defensive stance, for up to 2 seconds, causing all basic attacks against him to miss. Jax also takes 25% reduced damage from all champion area of effect abilities. After 1 second, Jax can reactivate to end it immediately.
4 ай бұрын
Imagine if Jax had a real weapon?
@mysterioustraveller7165
@mysterioustraveller7165 4 ай бұрын
ACTIVE: Jax Dash dashes to the target unit's location. If the target is an enemy and they are in range upon arrival, Jax deals them physical damage. Jax can cast any of his abilities during the dash
@kalpamonx
@kalpamonx 4 ай бұрын
Gotta try AP Jax someday, one time I had this one rando Jax who went AP in my team. He was melting everyone!
@Dom-zy1qy
@Dom-zy1qy 4 ай бұрын
Was just scrolling waiting to find a comment like this.
@4dtoaster819
@4dtoaster819 4 ай бұрын
"Why did you start using JAX?" Me: "I like the logo"
@wlockuz4467
@wlockuz4467 4 ай бұрын
As a software engineer with 10 years of experience, I understood some of those words.
@MaxMalm
@MaxMalm 4 ай бұрын
I felt so stupid watching this
@yad-thaddag
@yad-thaddag 4 ай бұрын
@@MaxMalm You're not the only one. 😉
@poulticegeist
@poulticegeist 4 ай бұрын
Yeah, I guess that goes to show that those years of experience were wasted
@mohamedtrfnx6632
@mohamedtrfnx6632 4 ай бұрын
This is what happens when people become software engineers from the internet lol
@twentyeightO1
@twentyeightO1 4 ай бұрын
As a ML student I understood everything. That just means you're not into this stuff.
@randomeone100
@randomeone100 4 ай бұрын
Time to add JAX in my resume
@TheRadischen
@TheRadischen 4 ай бұрын
10 years experience
@injSrc
@injSrc 4 ай бұрын
😂😂
@MiroslawHorbal
@MiroslawHorbal 4 ай бұрын
Good idea. Thank you for the career advice
@ClaudioRodriguez-ln2ez
@ClaudioRodriguez-ln2ez 4 ай бұрын
Gg no top
@dominicanfrankster
@dominicanfrankster 4 ай бұрын
I watched this vid too, I'm going to do the same
@mritunjaymusale
@mritunjaymusale 4 ай бұрын
Jax sounds like less abstract version of pytorch and more complicated version of numpy
@Imperial_Squid
@Imperial_Squid 4 ай бұрын
Pretty much yeah
@kittydaddy2023
@kittydaddy2023 4 ай бұрын
huh
@Michallote
@Michallote 4 ай бұрын
However performance is above torch somehow
@Imperial_Squid
@Imperial_Squid 4 ай бұрын
@@Michallote because JAX basically compiles down to machine code when run, and while a lot of Pytorch iis done at a low level, there's still some overhead that's python running things. But conversely torch allows you to do dynamic ML (edit: actually pytorch also let's you compile but I haven't played with it personally), whereas JAX has to all be perfectly laid out from the start so it depends what you're trying to do. Torch is also just more useful to more people so it's more well supported so even if Jax would be better for your project, there's incentive to follow the herd and use the thing everyone else is using.
@user-pe7gf9rv4m
@user-pe7gf9rv4m 4 ай бұрын
jax borrows a lot of ideas from haskell and functional programming it just has a more familiar syntax (python-style) and calls things differently (scan is a bifunctor for instance)
@unclecode
@unclecode 4 ай бұрын
The sample code u shared at the end, so simple & elegant shows what training is all about. Approximation of a function F defined as multiplication of multiple matrixes (its layers), then calculating its error over known data E(F(x), y), computing gradients of that error E', & then updating F's parameters, such E' approach to zero. I will share this code to my students. Thanks again.
@alcoholrelated4529
@alcoholrelated4529 4 ай бұрын
i'm interested in computer science, calculus and statistics, but i only have 300 seconds in total
@the_everything999
@the_everything999 4 ай бұрын
Then you're in the right place.
@artyomloukashov636
@artyomloukashov636 4 ай бұрын
Then you need Matlab - short, fast, mathematical!
@dishankshah5080
@dishankshah5080 4 ай бұрын
give 100 seconds to each and you're done.
@potato_zeq3571
@potato_zeq3571 4 ай бұрын
"Imagine if i had a real weapon!"
@hlab3524
@hlab3524 4 ай бұрын
I WAS LOOKING FOR IT xd
@sephroth201
@sephroth201 4 ай бұрын
now we need another library call annie
@ChrisCarlos64
@ChrisCarlos64 4 ай бұрын
My thoughts exactly, especially the color scheme looking like his default costume
@potatosheep
@potatosheep 4 ай бұрын
League x Programming = Legendary
@mindaugask_
@mindaugask_ 4 ай бұрын
​@@potatosheep found the scripter
@rick-ed1sn
@rick-ed1sn 4 ай бұрын
that's a very clever logo
@LouisChiaki
@LouisChiaki 4 ай бұрын
Then you should also love Tensorflow.
@yash1152
@yash1152 4 ай бұрын
2:43 that sure looks cool and inspiring. but whats clever about it?
@joseville
@joseville Ай бұрын
@@yash1152 it incorporates an impossible geometry
@yash1152
@yash1152 Ай бұрын
@@joseville is that related to the branding in any way? > _"it incorporates an impossible geometry"_
@joseville
@joseville Ай бұрын
don't know JAX about JAX The impossible geometry in the logo is similar to a Penrose triangle
@picoplanetdev
@picoplanetdev 4 ай бұрын
Oh boy another Fireship video!
@ortana-v2
@ortana-v2 4 ай бұрын
truely the first
@12crenshaw
@12crenshaw 4 ай бұрын
At least that one haven't made me anxious about AI taking over the world
@joseville
@joseville Ай бұрын
0:25 wow, they incorporated an impossible triangle into their logo! that's really cool!
@Henrique-up4su
@Henrique-up4su 4 ай бұрын
"Let's start with X: Accelerated (...)" "???"
@tienatnguyen8899
@tienatnguyen8899 4 ай бұрын
That's because X is pronounced "eks", and accelerated is pronounced like "eks-elerated"
@bruwyvn
@bruwyvn 4 ай бұрын
Clearly you haven't watched BEN10
@birdbeakbeardneck3617
@birdbeakbeardneck3617 4 ай бұрын
ai fireship strong with this one
@onça_pintuda999
@onça_pintuda999 4 ай бұрын
@@bruwyvn For non native speakers XLR8 is just XLR8 in the translated language, usually who watches/ed ben10 at 10yo would not speak english, outside of native speaking countries. It took me years to realise that xlr8 is spelled accelerate
@kintrix007
@kintrix007 4 ай бұрын
@@onça_pintuda999 Nah it really depends. For example, in the Hungarian dub its name would literally translate back to English as "Lightning Gremlin". They just took the message of it, and gave XLR8 a name a 10 year old could have come up with. Instead of a letter sequence that is otherwise nonsensical. Or, in the Japanese dub, they just called it "Accelerate", as they kept the pronunciation of all the aliens, not the spelling.
@8ball437
@8ball437 3 ай бұрын
0:55 the points of inflection are marked wrong on the graph. The yellow points are local extremums, not inflection points.
@bramvdnheuvel
@bramvdnheuvel 4 ай бұрын
Do Elm in 100 seconds! You'll love it! It's an older JavaScript framework that had a lot of thought behind it. It's funny to see more popular ones catch up, but Elm did a lot of the things very well and it deserves some love!
@VisibilityO2
@VisibilityO2 4 ай бұрын
I have never heard the best explanation of derivative from calculus like 'if you want to know how big is the mushroom cloud is growing ' .
@NoahElRhandour
@NoahElRhandour 4 ай бұрын
Active: Jax enters Evasion, a defensive stance, for up to 2 seconds, causing all basic attacks against him to miss. Jax also takes 25% reduced damage from all champion area of effect abilities. After 1 second, Jax can reactivate to end it immediately.
@MarcusAurelius-kl5yz
@MarcusAurelius-kl5yz 4 ай бұрын
Dang missed opportunity using the Jax from league of legends on the video
@Gm-ce5kg
@Gm-ce5kg 4 ай бұрын
missed opportunity to take a shower
@msghia5252
@msghia5252 3 ай бұрын
Who?
@utorque
@utorque 4 ай бұрын
Could you do a ROCm video (AMD's CUDA couterpart) ? Love you and your vids !
@zstrizzel
@zstrizzel 4 ай бұрын
great video but still very sad we did not work in a mortal kombat jax reference
@fernandogurgel
@fernandogurgel 4 ай бұрын
Was looking for this comment. I always wanted to see a library or tech called Jax, because all I got was AJAX concept from Javascript, which would not entirely fit it, but somehow always reminded me of the MK fighter.
@4RILDIGITAL
@4RILDIGITAL 4 ай бұрын
This video really clarified how this isn't just another accelerated linear algebra library, but a tool developed by Google for futuristic new hardware. The constraints on immutability and the way it compiles to low-level code for accelerated Hardware seems ideal for machine learning. And the automatic differentiation feature is truly next level.
@FasutonemuMyoji
@FasutonemuMyoji 4 ай бұрын
Thanx totally not chat gpt or equivalent
@jjhacker810
@jjhacker810 4 ай бұрын
Can I suggest R? It seems to be gaining traction in Google Courses, EdX, Uni, Etc. It'd be good to get a high level overview of the langugage that can be used to summarize it for business, friends, family, etc
@叵
@叵 4 ай бұрын
*jax from the amazing digital circus* ⁉️
@thecatguy893
@thecatguy893 4 ай бұрын
What i thought
@SirusStarTV
@SirusStarTV 4 ай бұрын
Nah, from Mortal Kombat
@Console.Log01
@Console.Log01 4 ай бұрын
please end it all my bro
@teamllr3137
@teamllr3137 4 ай бұрын
I was sure there would be at least 1 comment like this...
@Fafr
@Fafr 4 ай бұрын
No it's the classic creator from Geometry Dash, the one behind the legendaray The Nightmare
@athlone_tch
@athlone_tch 4 ай бұрын
- “Mum, could I practice my predictions from automatic differentiation in our garden?” 1:47
@robertholtz
@robertholtz 4 ай бұрын
Thank you, Fireship. Up until I watched this video, I thought I was smart.
@joshuaevans4301
@joshuaevans4301 4 ай бұрын
Holy shit automatic differentiation is so freaking cool. Imma need to remember this when I jump back into calculus
@Jack-ul2rb
@Jack-ul2rb 4 ай бұрын
How you edit your videos? . It was an amazing edit And which platform do you use for such arrows and animantions .
@jackelhuevo2133
@jackelhuevo2133 4 ай бұрын
Very cool video! May I suggest you tackle Dyalog APL (or APL in general) in the future?
@codyandersan
@codyandersan 4 ай бұрын
For those who don't know: Fireship lives on a planet whose gravity is stronger than our Earth, that's why his 100 seconds are our 226..
@codexcursors
@codexcursors 4 ай бұрын
Thanks, I can now add 10 years experience of JAX to my résumé!
@MrDejvidkit
@MrDejvidkit 4 ай бұрын
Please do scala next!
@ferdinandbardamou5508
@ferdinandbardamou5508 4 ай бұрын
My experience: ~1200 to 1500x accelaration of a function with numpy operations on a conventional 3070 GPU, by just adjusting the numpy code to JAX syntax. Just remember that array dimensions must be constant.
@KennaBlackburn-tm9xn
@KennaBlackburn-tm9xn 4 ай бұрын
100 seconds is a bit of a stretch, but well what can you do. Keep up the great work.
@netcodedev
@netcodedev 4 ай бұрын
I just opened KZbin and thought it must be about time for a new fireship video. And bang! There it is
@alphaios7763
@alphaios7763 4 ай бұрын
Hoped to get some tips on top lane
@LetyQ
@LetyQ 4 ай бұрын
1) Always keep track of jungler pathing. 2) Freeze lane when ahead, even if the opponent does not contest and thus does not die, the gold and xp lead from the minion is enough to snowball. 3) Death timers are very low until level 7, don't greed a plate if a takedown is taken, you will lose in tempo and therefore reduce the advantage from the kill. 4) If opponent roams, hard shove then follow up if action not ended. Best case scenario the roams does not connect and opponent will lose wave. Worst case scenario, the roam is successful but as the lane is under the opponent tower, they can neither base nor push for plates, therefor the play is even in tempo even if it is losing in gold/xp.
@Channel-iu6de
@Channel-iu6de 4 ай бұрын
Man that logo design for Jax is amazing
@hectors.1644
@hectors.1644 4 ай бұрын
A must like video, due to your effort to research this type of content, keep that good work
@Rahul.Gurung.
@Rahul.Gurung. 4 ай бұрын
Brilliant back at it again, everywhere I go I see brilliant.
@kushagrachaturvedy2821
@kushagrachaturvedy2821 4 ай бұрын
Love the visuals in this one
@kellymoses8566
@kellymoses8566 4 ай бұрын
Automatic differentiation is fascinating
@YandiBanyu
@YandiBanyu 4 ай бұрын
Oh, that is actually useful. The abstraction is very much welcomed here. Can't wait to see RandBLAS and RandLAPACK too!
@boriscrisp518
@boriscrisp518 4 ай бұрын
This is te best youtube channel on the internet. I just wish youtube wasnt censored so i could expresshow much I enjoy the content
@foxy_robin
@foxy_robin 4 ай бұрын
You videos with Brilliant sponsorship are max quality ser.
@masicbemester
@masicbemester 4 ай бұрын
ah yes that one character from The Amazing Mortal Kombat Circus
@NY_Mountain_Man
@NY_Mountain_Man 4 ай бұрын
I'm an artist who worries constantly about saying the wrong thing on occasion. Meanwhile, I'm watching some guy talk about nuclear warheads. What a fascinating channel. 👏
@RiversJ
@RiversJ 4 ай бұрын
If it doesn't maintain internal state (with assorted memory overhead) or actually produces new copies of arrays, this is Hugely wasteful on the GPU memory bus. Wide scale SIMD architecture does Not model after OOP or FP concepts perfectly, there is a damn good reason they aren't driven the same way CPUs operate. Both approaches seem faulty and unavoidably slow/wasteful translation layers to CPU styled paradigms. Far more useful would be having access to well designed wrappers on most languages to the underlying APIs which too often require a shit ton of boilerplate and horrible docs along with badly designed interop calls.
@geoffreybrunet5948
@geoffreybrunet5948 3 ай бұрын
There is an error for mushroom example with array, it's a 3 elements array but you try to get arr[3], je gradient is [60., 4., 3.]
@nafrost2787
@nafrost2787 4 ай бұрын
This sounds extremely similar to pytorch, tensorflow, keras and the likes. I'm surprised I haven't heard of it by now. Anyone here on the internet have any ideas why is it less known? Maybe it's a latecomer?
@f3arbhy
@f3arbhy 4 ай бұрын
its pretty well used for machine learning in the scientific community. Jax probabiliy has the best api in terms of writing pure functions and transforming them into functions that returns gradient's or hessian. For that reason, one can write code just like writing an equation, which is well appreciated by the scientific community..
@SuperMaker.M
@SuperMaker.M 4 ай бұрын
nice I just literally started learning JAX after using TF and torch for a long time
@dovs96
@dovs96 4 ай бұрын
That's exactly the thing I needed lol, thanks a lot.
@2puff-nn5sv
@2puff-nn5sv 4 ай бұрын
mathematics in 100seconds
@howird
@howird 4 ай бұрын
JAX actually stands for "Just After eXecution" according to the original white paper
@nictibbetts
@nictibbetts 4 ай бұрын
jaxing off
@apps9129
@apps9129 4 ай бұрын
Actually understood a lot more than I thought I would randomly clicking on this video.
@monkeyofjp
@monkeyofjp 4 ай бұрын
"Imagine if I had a real weapon"
@TimmyM
@TimmyM 4 ай бұрын
I don't understand anything you say, but I love watching these videos anyway.
@raidtheferry
@raidtheferry 4 ай бұрын
Hey Fireship, what software do you use to edit/produce your videos? thx
@EigenCharlie
@EigenCharlie 4 ай бұрын
Really want to see how impoved versions of KANs wil perform using JAX
@edbrito-swdev
@edbrito-swdev 4 ай бұрын
I saw the title and thought it was going to be on Jax-RS. I'm glad it wasn't!
@costitica
@costitica 4 ай бұрын
Imagine I tell the interviewer I have 100 seconds of experience in JAX
@cinderwolf32
@cinderwolf32 4 ай бұрын
I would love to see Smalltalk in 100 seconds
@dsjgfhidupgjret
@dsjgfhidupgjret 4 ай бұрын
Finally something I’ve used in this channel :)
@pasmanitan
@pasmanitan 4 ай бұрын
Recruiters are gonna ask for ppl with 15 years of experience with JAX
@R3dX5118
@R3dX5118 4 ай бұрын
Mr fireship, please don't scam us, this ain't no 100 seconds anymore, Thank you ❤
@XyndraNerd
@XyndraNerd 4 ай бұрын
You know you're balling if you have your own TPU
@ItWasEnder
@ItWasEnder 4 ай бұрын
I said "Im not going to use JAX probably not going to watch". I'm glad I did, it actually looks useful lol.
@soflass1293
@soflass1293 4 ай бұрын
The most understandable 100 seconds ever
@Salah-YT
@Salah-YT 4 ай бұрын
JAX in 203 Seconds
@vintagegenious
@vintagegenious 4 ай бұрын
All those new languages and libraries are converging closer to functional programming
@GOUST3D
@GOUST3D 4 ай бұрын
I feel like I'm always just out of the grasp of understanding how something like this is useful for like 3d animation data... idk how the array of partial derivatives would be useful but it seems like it would be for some of the stuff I'm thinking about
@lenionio
@lenionio 4 ай бұрын
I have 20 years experience in JAX and I must say I love it
@soundstudio7803
@soundstudio7803 4 ай бұрын
tfw you realize 100 seconds videos aren't actually 100 seconds long
@um8078
@um8078 4 ай бұрын
Then at your interview they're gonna require you to have 5 years of experience in JAX
@eulmdev
@eulmdev 4 ай бұрын
common W fireship vid i love the 100 seconds series lol
@HardbassTV.
@HardbassTV. 3 ай бұрын
Jax from TaDC?
@nafrost2787
@nafrost2787 4 ай бұрын
Who else is proud of our little Jeff for graduating to a brilliant sponsorship?
@vicradon
@vicradon 4 ай бұрын
You explain partial derivatives in a way I've never thought about before. So a partial derivative exists because the function being differentiated has multiple inputs. When it's a single function, there's no need for them. Right?
@skejeton
@skejeton 4 ай бұрын
"i invented a new hyper parallel execution language!" new or shading language? "shading language"
@toxiq5295
@toxiq5295 4 ай бұрын
That logo is sickly designed
@zainkhalid3670
@zainkhalid3670 4 ай бұрын
Just about time I add it in my CV
@Gstyle85255
@Gstyle85255 4 ай бұрын
Good to see its not just JS languages in the merry-go-round
@loserpacman
@loserpacman 4 ай бұрын
The linear algebra field going to the moon with this one
@hanif72muhammad
@hanif72muhammad 4 ай бұрын
My brain too smooth, what are you talking about?
@syrus3k
@syrus3k 4 ай бұрын
Wasn't Jax a character in mortal kombat?
@Andeiih
@Andeiih 4 ай бұрын
My head is exploding like a nuclear mushroom cloud after this one
@somerandomfinn668
@somerandomfinn668 4 ай бұрын
100 seconds (adjusted for inflation)
@thedelanyo
@thedelanyo 4 ай бұрын
The only in 100 seconds without "Hi mom"
@pixelsandpointers
@pixelsandpointers 4 ай бұрын
You forgot about ease of parallelization and vectorization of functions which are the true primitives of Jax, alongside autodiff. C:
@FaiqAli-cc3sl
@FaiqAli-cc3sl 4 ай бұрын
You explained it better and faster than my ML professor
@_rd_kocaman
@_rd_kocaman 4 ай бұрын
Thanks for the video mate now I can add JAX to my resume
@the_everything999
@the_everything999 4 ай бұрын
Jax seems really cool.
@amooozk7777
@amooozk7777 4 ай бұрын
that was almost 204 seconds😂
@Nekoeye
@Nekoeye 4 ай бұрын
"Imagine"... stop it right there. I'm lost.
@thatguyoverthere32
@thatguyoverthere32 4 ай бұрын
Is this just giga chad MATLAB? Was my first year compute physics course useful after all?
@Tubeytime
@Tubeytime 4 ай бұрын
Thought this was a TADC compilation video, but I'll take this instead
@tommypospa
@tommypospa 4 ай бұрын
Glad I have 4 years minimum experience with JAX.. oops AJAX.
@J3dotgg
@J3dotgg 4 ай бұрын
Thanks Fireship, this library will definitely accelerate the development of my nuclear warhead!
@Rebel101
@Rebel101 4 ай бұрын
You know it's a sponsored video, when there is no flat earth.
@antonchinaev3495
@antonchinaev3495 4 ай бұрын
What happened with "blazingly" fast? I liked it
Ruby on Rails in 100 Seconds
3:33
Fireship
Рет қаралды 468 М.
Claude has taken control of my computer...
4:37
Fireship
Рет қаралды 251 М.
Хасанның өзі эфирге шықты! “Қылмыстық топқа қатысым жоқ” дейді. Талғарда не болды? Халық сене ме?
09:25
Демократиялы Қазақстан / Демократический Казахстан
Рет қаралды 349 М.
小丑家的感情危机!#小丑#天使#家庭
00:15
家庭搞笑日记
Рет қаралды 35 МЛН
MY HEIGHT vs MrBEAST CREW 🙈📏
00:22
Celine Dept
Рет қаралды 81 МЛН
Não sabe esconder Comida
00:20
DUDU e CAROL
Рет қаралды 41 МЛН
Why Does Diffusion Work Better than Auto-Regression?
20:18
Algorithmic Simplicity
Рет қаралды 355 М.
How to Land a 100K/yr Tech Job - 10 Strategies
11:17
Fireship
Рет қаралды 1,3 МЛН
The moment we stopped understanding AI [AlexNet]
17:38
Welch Labs
Рет қаралды 1,2 МЛН
The Weird History of JavaScript
12:09
Fireship
Рет қаралды 1,2 МЛН
10 Math Concepts for Programmers
9:32
Fireship
Рет қаралды 1,9 МЛН
How programmers flex on each other
6:20
Fireship
Рет қаралды 2,4 МЛН
5 Good Python Habits
17:35
Indently
Рет қаралды 574 М.
The WordPress ecosystem has lost its mind…
7:06
Fireship
Рет қаралды 847 М.
I built 10 web apps... with 10 different languages
14:23
Fireship
Рет қаралды 1,6 МЛН
One second to compute the largest Fibonacci number I can
25:55
Sheafification of G
Рет қаралды 364 М.
Хасанның өзі эфирге шықты! “Қылмыстық топқа қатысым жоқ” дейді. Талғарда не болды? Халық сене ме?
09:25
Демократиялы Қазақстан / Демократический Казахстан
Рет қаралды 349 М.