Also, just to be frank, if you’re using a solution like this, open source does not meet your requirements.
6,774 karma · joined January 2, 2016
Also, just to be frank, if you’re using a solution like this, open source does not meet your requirements.
Respect to Apple, but internal ASIC teams is nothing new in a lot of the tech industry, and I don't mean Google's TMU stuff or the Annapurna team at AWS. Those guys were following a long trend of ASIC teams in companies - e.g., ALL of the networking industry except Arista has been running this way for the last three decades.
I mean, after the 68k era, the _entire Unix workstation market_ - IBM, HP, DEC, SGI, etc. - was entirely built around in-house ASIC teams building their own CPUs.
I find it exciting, but what it really is, at the end of the day, is verticalization so that they don't have _as deep_ of a margin stack on their CPUs. Microsoft and Sony have gotten a series of custom CPUs and GPUs from AMD, Nvidia, etc. over the last twenty years without owning the whole stack or losing the ability to apply optimizations. That's been common forever.
Apple is doing an amazing job. It started with acquiring the PA Semi team and has grown from there, they've been amazing and consistent about it and it's awesome execution and _sticking to the investment profile required_, but .. eh, the article just seems utterly unfamiliar with any broader context.
I mean maybe. A lot of Europeans seem pretty confused about ASML.
A lot of clusters are totally homogeneous, at least within some very large domains, so for a given interconnect and a generation of GPU you know the maximum message latency, the peak sustained pflop rate, and so on but what often matters is some combination of the depreciation-cost-per-time and the watt hours per unit time, where you can sort of approximate both if you ignore the unfortunate realities, which then act as a multiplier.
For example, a problem is network issues - and not just scale - as the training sequence often involve billions of cycles of short compute-sync sequences which are bursty (e.g., all-to-all, barrier, compute, barrier, all to all, ...) but between which there isn't enough time to engage low power modes so you're burning $ due to slack and waste. This is true in different ways for a lot of training approaches.
You can approximate this, but it's so sensitive to data set size, specific training schedule, etc. that you won't be able to get the most important answer.
amazing that the rest of the culture doesn't think tech people are skeevy
In general, everyone is professional unless there's something really bad. This was quite unprofessionally handled, and so we draw the obvious conclusion.
https://www.forbes.com/sites/davidjeans/2023/10/23/eric-schm...
Think back in history. For example, consider the absolutely massive issues at Uber that had to go public before the board did anything. There is no way this is over some disagreement, there has to be serious financial, ethical or social wrongdoing for the board to rush job it and put a company worth tens of billions of dollars at risk.
For some reason, apparently, I look like the kind of person people should open up to, and so they approach me and oh boy do they open up. I get the crazies - moon landing denialists, people who think other people are secretly wolves, flat earthers who say "I thought you looked like a fellow traveler", various apparnet schizophrenics who hand me 50+ page printed resumes (not a joke or exaggeration), chain smokers who think I can help them with their struggles with their mothers, people claiming to have taken part in Ross Perot's Iran hostage rescue, young women who urgently want to have sex right now without a condom (I am not good looking and they are usually shaking or twitching and often wandering around in sweat pants), and so on. I've even met famous people more than once, well, dopplegangers had taken over their lives so they'd lost their fame - it had been stolen.
I generally like talking to people, and will happily talk to total strangers, but given my experience I am hesitant to initiate conversations - because i wonder - sure, I don't believe in weird outlandish things, but what if I am also a crazy? Do the crazies know what they are? And so I don't.
I confess I've seen incredible sloppiness about when a confirmation is done (too early, including in the initial init stages which is way too soon) and watchdogs (spawn off a process that has a while loop stroking the wd - just absolutely pointless).
Given the criticality of the tech, I'm sure the price will be met.
Having worked for companies that produce network devices - including devices that are unreachable for example for 6 months of the year - and on software installation and upgrade, I am baffled how this bricking is possible. For one thing, you generally use some kind of confirmed boot mechanism - you upgrade a standby partition, set an ephemeral boot value that causes device to boot the alternate image, and reboot - only when the image is declared "up" does that get persisted (and then the alternate is upgraded, in order to prevent rollback in the event of a media error). You use watchdogs that are tied to actual forward progress (and not just some demon that the kernel schedules and bangs on the watchdog even if the rest of the system is hung) and if they fail, the WD reboots you. (This is one of the reasons that event driven programming is somewhat preferred - actually processing events from a single dispatch thread makes it easier to reason about the system.)
On top of that, you make sure that the core system is an immutable filesystem so that you can validate the _offline_ alternate image before rebooting (write-and-read-back-uncached) and periodically scrub the alternate image (same).
Like.. this is all embedded 101, stuff people have been widely doing since the mid 1990s and I think I can find examples going back to the 70s. Sometimes you get a little more sophisticated (allow sub-packages or overlays and use a manifest to check the ensemble instead of just a single image), but it's very standard.
I have this deep seated fear that NNs will be the death of the lessons learned from 1970-2010. After all, if you can use massive amounts of compute to materialize what seems to be a good enough function approximator, why do advanced algorithms at all?
Obviously the reason we should is that approximators like the NNs have explainability issues and corner case unpredictability issues plus they are bad at real world complexity (which is why self driving efforts continue to struggle even when exposed to a narrow subset of the real world).
Compare with Affinity’s software - they are more consistent than present day Adobe but copied all the good, same as Adobe did with Quantel.