One that wants to manipulate your mind, one that echochambers your discovery, one that censors arbitrarily.
After Google killed Reader I was forced to follow all the people who used to blog to keep up with their professional work. But especially in the last 3 years Twitter feeds have all come with a large side order of political hot takes that I have zero interest in sitting through.
To counteract this I have an extensive word blocklist and turn off retweets on many people so my Twitter can remain about the work of interesting people in my industry and not just an open sewer of politics.
Twitters insistence to show me posts that people I follow liked or engaged highly with bypasses all this.
I wrote an extension/user script to filter those - and retweets - out into their own lists on the front page [1], as I just want a chronological timeline of what people are saying now, which mustn't be "engaging" enough for Twitter's purposes.
[1] https://github.com/insin/manage-twitter-engagement#readme
Turns out it's not.
I agree that the problem exists, but its not just Twitter, and this is an unfortunate side-effect of recommendations in general: even if you do count-based recommendations, you are going to have a bit of echo chamber.
More importantly allow opt out and configuration of stuffing feeds with politics and liked by those I follow.
But the idea is not to empower users but masticate users to provide more 'value' to Advertisers by selling them 21stC version of 'hits' - the false & forced engagement metric.
This all stems from the mentality that Twitter are serving the money not the user.
It is short-termism.
Hopefully crap-stuffing users will allowing the resurgence of a diverse market that necessitates open standards unlike our current hyper monopolies and their data silos.
I dare say they’re acting well outside of their wheelhouse. Their job is to provide a platform for discussion, not whatever that mess of corpspeak I just read is.
What better way than program a robot to decide what 'healthy conversations' are.
Dorsey's capitulation to the complaint army over his recent chicken sandwich says it all.
I do see the hate mobs calming down ( or being ignored ), eventually, but when that happens we know Dorsey and a lot of these CEOs have little or no backbone.
That happened due to ML.
Not everyone is out there to use ML for nefarious purpose. And there are multiple use cases for ML.
Yes
>And it's significantly better lately?
It's gotten worse and a few youtubers I follow have simply disabled it in recent time (less than 1 month ago was the most recent one)
Normal conversation on youtube is barely possible since the algorithm randomly decides to not notify me of responses anymore or removes entire comments from my view that other people reference and I'm left wondering what is going on.
The only good thing about youtube comments is that I can remove them easily with a plugin.
- "Like if you're watching in June 2018?" [2k upvotes]
- "Most underrated artist of our time" [5k upvotes]
- "Wow, mad respect for <artist>" (written by verified account by other artist trying to promote their own content)
The comments got much better after Youtube added user ratings. Hardly "ML". I'm guessing they added ML later, but I haven't noticed any difference, to be honest...
And by "much better" I mean they went from amoeba level to early multi-cellular organism :)
One that wants to manipulate your mind
Like your post here? Or my present reply to it? And so on...
one that echochambers your discovery
Which is good, because nobody has enough time in the day to process every conceivable byte of information they might stumble across...
one that censors arbitrarily
OK, because while everyone may have the right to speak freely, not all speech needs to be heard by everyone...
With Twitter, FB, and modern social media, they let their algorithm decide what I should see. They think they know what people want and ultimately what's best for me. I disagree with this so I opt-out of their services. Sadly. Because there are ( or were ) a lot of interesting and novel voices on there.
Also, I suppose at a certain point those 3XXX employees need to justify their existence.
And yes it's their prerogative to do whatever they want with their product. And yes I know private companies are not bound by the 1st Amendment.
If the algorithms only ever selects things you already like, how would you discover things you might not know you like? Or change your mind about a subject because you only ever see tweets that agree with your worldview?
A good timeline would not only show you speech, ideas or content you agree to or like but also stuff you don't like and don't agree with.
> Like your post here? Or my present reply to it? And so on...
Except that Twitter thrives on controversy. There's controversy on HN as well, but escalations lead to flagging of content, not promotion of it.
>> one that echochambers your discovery
> Which is good, because nobody has enough time in the day to process every conceivable byte of information they might stumble across...
Strawman. This statement isn't about quantity, it's about content. Focusing on information that reinforces one's one view, instead of engaging in critical thought, is a dumbing-down.
>> one that censors arbitrarily
> OK, because while everyone may have the right to speak freely, not all speech needs to be heard by everyone...
Strawman. This isn't about what gets filtered, but who filters and how this information gets filtered.
- Regular blog.twitter.com/engineering reader
As with all of these purported pipelining systems, I’m skeptical and happy to let a bunch of other people deal with the headches of making it adequately general for a few years before I’ll even start caring about grokking it for my use cases.
In the meantime, creating build tooling, data pretreatment tooling and deployment tooling is pretty valuable for me to understand business considerations and make sure all my modeling & experimentation aren’t just time wasting ivory tower projects, particularly in terms of customizing performance characteristics on a situation-to-situation basis, free to design the deployed system without a constraint to a particular serving architecture.
It also makes me very disinterested in applying to work for the Cortex team, because even though the article is talking about DeepBird v2 as a means to free ML engineers to do more research, it seems pretty obvious that there’s a huge surface area of maintenance and feature management for this platform. Your job is probably going to be less about research, which is scarce work that people compete over anyway.
Possibly attractive for people who just like deep C++ platform building, which is an internal drive not often found in people wanting to solve business problems with ML models.
And the world has plenty of people who are not interested in trying to solve business problems with ML models, but are rather interested in the engineering side of ML. I am one of those people. My current work (at cortex) involves improving the time taken to train the types of models not usually described in research papers.
If anyone is interested in machine learning but wants to build high performance training / serving platform, message me over twitter (@pavan_ky), Cortex is hiring.
In my work I spend a lot of time on new deep learning architectures or experimenting with modifications or fine-tuning or ensembling.
I write a lot of container and Makefile tooling to ensure experiments are reproducible and results have identifiers that map back to the full set of data, software and parameters.
I also write a lot of backend server software to wrap trained models in a web application, mostly in Python, and do a lot of work with Cython after profiling to target only those spots of the code that reveal actual performance bottlenecks in terms connected directly to a specific business problem’s latency or throughput requirements — as in, not taking the huge premature optimization step of assuming a whole system needs to be written in C++, and instead using profiling and case-by-case diagnostics to know when to write something as an optimized C extension module callable from Python for very specific and localized sections of code.
My experience has been that there is such a lack of transparency about how deployment will work, how performance will work, etc., when using cookie cutter pipeline approaches, like sklearn Pipelines, TensorFlow serving, Fargate, etc. You’ll always need to break some assumption of the pipeline, layer in new diagnostics, debug latency issues, etc., on a case-by-case basis.
99% of the time, ease of specifying a new model or articulating an experiment is not hard, requires little dev work, and only represents about 10% of the actual work needed to explore a model’s appropriateness for a given problem at hand.
The rest requires very specialized control and visibility to basically perform application-specific surgery on the pipeline, customizing and tailoring many aspects, from how multi-region deployment should look to how optimized the web service code should be to whether to use asynchronous workers or a queuing service to stage and process requests, to optimizing preprocessing treatments, to instrumenting some extra New Relic metric tracking that the pipeline isn’t extensible enough to just specify in some config, and so on.
What’s been most important is that the deep learning engineers on the team, who are researchers, are also excellent system engineers at all those topics too and display a high degree of curiosity towards them, and absolutely do not look at it like “boring work” that distracts from the experimentation they would rather do. Their value add is not driven by spending more time experimenting — that’s virtually never the case. Their value add is in both knowing the details of the deep learning models intimately while also knowing the deep details of implementation, optimization, deployment, and diagnostics.
In that sense, tying model development to a cookie cutter pipeline framework, whether Spark or sklearn or something custom in-house, is something I believe strongly is an anti-pattern.
[0] https://github.com/pantsbuild/pants/pull/5815 [1] https://github.com/twitter/scalding
Is there a recent in-depth article somewhere about Twitter's internals? It must be frustrating working on features very few people want to use.
I still can't edit a tweet I just posted, any video looks absolutely horrible for the first 10 seconds, the timeline is a mess, third-party developers that make interesting/much better clients are getting stomped on, and harassment is running mostly unchecked on the platform. Yet I read interesting development articles on the engineering blog. Wasted talent?
I really like the Twitter engineering blog articles, but it seems like it's just an HR tool.
"Machine learning enables Twitter to drive engagement...".
The very first thing they mention is engagement. They don't care about quality, or what users want, or to foster communication. They care about one thing and one thing only: engagement. More clicks, more likes, more moving around the interface.
I'm a bit out of the loop, has PyTorch really become so much more popular than Lua Torch, in the short time span since it launched? And is it true that most of the original Lua Torch community switched to PyTorch?
In PyTorch you have to do quite a bit more work specifying gradients, zeroing the gradients between update steps, specifically describing the operations of the backward pass in a custom layer, even in cases when it could just be inferred by the computation graph library as in TensorFlow.
I’ve heard anecdata that PyTorch performance can be better, but I think it’s still a case-by-case topic, and both libraries are still changing rapidly.
I attribute the switch from Lua Torch to PyTorch as just an obvious effect based on how bad of a language Lua is for the type of interactive and experimental programming needed for this type of work. Lua is a good language for some applications, but not this — and the value of spending effort to build the primary Torch frontend in Python became obvious quickly.
It means that one has deployed it/is using the tool with a non-trivial (could be anywhere from few 100s to few 1000s of machines) amount of CPU and/or data. In the context of serving, "large scale" could also mean the number of queries/second hitting the serving layer.
That seems fairly active to me. In almost 10 years I did my first re-tweet last year.