[QCon 2019] ML Panel

Hein Lu @Linked in, Brad Mitro @GoogleJeff Smith @ Facebook

For other QCon blog posts, see QCon live blog table of contents

Getting Started

  • People with other strong IT skills switched over
  • Can learn from books, coursera,, udacity, grad school
  • Look for specific applications
  • Domain is very large
  • Learn libraries, existing datasets
  • Understand where organization is at. Ex want to do ML vs specific problem
  • Focus on how will deliver business value

General

  • Many problems repeat so can get ideas from others
  • Important to have organizational alignment
  • Make sure to train on realistic data
  • Deep learning is very successful use case of ML
  • ”AI is the new electricity”
  • Limits of Moore’s law. Physical limitations with Quantum
  • Research on how to get algorithms to train theselve

Tools

  • PyTorch Hub

Learning resources

Q&A

  • How learn without business case? How know what don’t know? Many educational resources start generally. Can skip some core concepts and learn later.
  • How pick good training data? Iterate on testing. Important to keep training with new data
  • Data heurisitcs? How much data? How many labels?
  • How make more agile? Use a pretrained model to start. Exist as a service or pull in via code
  • How know when good enough? Sometimes you have to just try. Or look to those who solved similar problems
  • Tech stack? Hardware acceleration. Iibraries
  • Fraud? Retrain data

My impressions

This was a good panel. Interesting responses. One panelist was missing, but it came out well

[QCon 2019] Not Sold Yet: GraphQL

Speaker: Garrett Heinlein from Netflix

For other QCon blog posts, see QCon live blog table of contents

Use case at Netflix

  • Takes big bets
  • Organize data as single entity graphs
  • Wanted to merge graphs so can cross query
  • Early on in GraphQL journey

Team dynamics

  • “Monoliths are great” – single code base, atomic changes, simple deployments. “It might be a big ball of mud, but you love that ball of mud”
  • Can’t have over a dozen people working on one system
  • Microservices reduce costs with smaller teams and lessen communication
  • REST APIs require care to change spec changes

GraphQL

  • Express what is possible
  • Can get just data need
  • Schema is the source of truth
  • Can focus on product
  • Optimize exploration over documentation

Disadvantages

  • Rewriting code. But don’t have to change everything
  • Multiple entity graphs require managing release cycles

Consider

  • Designing graphs
  • Talk to others who have already done
  • Whether focus is data or clients
  • UI or entity centric schema
  • Who owns the schema? ex: ivory tower committee, informed captain per entity
  • DIstributed writes. Reading is far easier. For now Netflix is limitting updates to single entity
  • Error handling

Q&A [he left a lot of time for Q&A which was good because lots of good questions!]

  • Performance? Can do rate limiting. Can whitelist allowed queries for production. batching. Recommends Apollo product.
  • Concurrency and parallelism? GraphQL planner (like explain) so can optimize query. Complicated. Will be open sourced [missed product name]
  • Lazy problems with different sources? If know something can fail, put that error state into the schema
  • Multiple teams using entity with different view? Each team owns subtype and one team owns main type.
  • Business logic errors? Evolving topic. Can “or” return type so can be User type *or* “404 type”. Then calling code has different logic based on return type.
  • How deal with breaking changes in Federated graph? Apollo helps with this. Can report on specifications and performance based on production usage
  • Team communication for design? Working groups for things like pagniation. Now have federated team to build entity graphs and teams maintain their entities.
  • How avoid duplication? All using graphql. Not doing long enough to have bloat.
  • Deprecation strategy? Netflix doesn’t tell people what to do. Developers choose. Thinks Facebook never deprecated anything internally. Hasn’t encountered yet at Netflix.
  • Need to write resolver for each query. Bigger benefit is for clients

My impression

I’ve used GraphQL with GitHub as a consumer. It was interesting “formalizing” that knowledge by learning why another company started using it. Along with some pros and cons. They are early in the journey. I’d be interested to see this talk in another year or two after they have more experience. I enjoyed the talk as is though. It provided good insights and things to think about.

[QCon 2019] Learning From Machines

Speaker: Ashi Krishnan @rakshesha

For other QCon blog posts, see QCon live blog table of contents

http://lfm.ashi.io

Note: this is not as good as my usual blog posts as far as capturing information. See the impressions section at the bottom for why.

General

  • Neural network
  • Gradient system
  • Eyes see using layers
  • Each neuron has a receptive field
  • Inception – one pass from beginning to end
  • Neural networks – reinforce
  • Movement affects brain
  • Neural networks can recognize when something is off about the input
  • Recognition can have same problems as optical illusions

Dreams

  • Algorithm can generate fake human photos
  • Trained with two classes – real and fake
  • Generator being fed noise

Latency

  • Efference – signal to brain
  • Predict how body’s state will change
  • Signals have latency (10ms)
  • Use prediction for smooth moments and to anticipate touch
  • This is why cerebellum damage makes jerky movements

My impressions

I’m really sensitive to visual distraction. Which meant I had trouble paying attention to the beginning concepts with all the flashing and zooming images. I also felt a little dizzy with the sustained zooming and had to close my eyes at a few points. (It’s not easy to trigger even mild motion sickness on a screen that size) There was a disclaimer up front.. But it definitely impacted my learning anything. During the calm parts, even the lower right changed from her twitter handle to website periodically (on the same slide). This meant I was continually drawn to that over the material. This became a negative feedback loop because I didn’t hear/retain key definitions up front and had to google. Which meant I missed more. It wasn’t just the beginning. The movement throughout made me struggle. I know the movement was reinforcing key points. It didn’t for me. The parts that I was able to follow were good so I feel like I missed out.