Thecatchisthatthisgrowthismaybe 10 or 15 yearsbehindsoftwareengineering, andwe'realsorediscovering a lotofthesamethingsthatexistinsoftwareengineeringbutin a machinelearningcontext.
So I thinkit's worthkeepingthatinmindaswemovethroughthetalks.
The 1st 1 upisgonnabetense, fearfulhub, andthisissomethingthatletsyousharereusablepiecesofmachinelearningmuchthesamewaywesharecode.
Thenwe'lltalk a littlebitaboutdeployingmachinelearningmodelswithtensorflowserving, andwe'llfinishupwithtensorflowextended, whichwraps a lotofthesethingstogetherin a platformtoincreaseyourvelocityas a machinelearningpractitioner.
I'm AndrewGasparovic, and I'd liketotalktoyou a littlebitaboutTensorflowHub, whichis a newlibrarythat's designedtobringreusabilitytomachinelearning.
Sosoftwarerepositorieshavebeenrealbenefittodeveloperproductivityoverthepast 10 or 15 years, andthey'regreat, firstofall, becausewhenyou'rewritingsomethingnew, uh, ifyouhave a repositories.
Um, but a secondthingthathappensisyoustartthinkingmaybe I'llwritemycodein a waythatspecificallydesignedforreuse, whichisgreatbecauseitmakesyourcodemoremodular.
Andunlike a model, they'redesignedtobecomposeherbal, whichmeansthatyoucanputthemtogetherlikebuildingblocksandaddyourownstuffontoptherereusable, whichmeansthattheyhavecommonsignaturessothatyoucanswaponeforanotherandyouretrainable, whichmeansthatyoucanactuallybackpropagatethrough a modulethatyou'veinsertedintoyourgraph.
Solet's take a quicklookatanexample.
Inthiscase, we'lldo a littlebitofimageclassificationsandsaythatwewanttomakeanapptoclassifyrabbitbreedsfromphotos.
Butweonlyhave a few 100 examplephotos, probablynotenoughtobuild a wholeimageclassifierfromscratch.
Butwhatwecoulddoisstartfrom a generalpurposemodel, andwecouldtakethereusablepartofit.
Butwe'llkeepthemoduleitselffixedandjustlikebefore, we'llstartbyGohanintensorflowdotorg's slashhobandtake a lookatthetextmodulesthatareavailableinthiscase.
Maybewe'llchoosetheUniversalSentenceEncoder, whichisjustrecentlyreleasedbasedon a researchpaperfromlastmonth.
Theideaisthatitwastrainedon a varietyoftasksandisspecificallymeanttosupportusingitwith a varietyoftasks.
Anditalsotakesjust a verysmallamountoftrainingdata.
It's somethingthatyoucandowith a lowerlearningrateifyouhave a lotoftrainingdataanditmaygiveyoubetteraccuracyandsoumwehave a lotoftextmodulesavailableon T F.
Andsotheversionnumberistheresothatifyou're, youknow, doingonetrainingrunandthenanother, youdon't have a situationwherethemodulechainchangesunexpectedly.
SoallmodulesonTFabducteverversionthatway, andoneofthenicethingsaboutthoseyouEarl's ifyoupastetheminto a browser.
Yougetthemoduledocumentation, theideabeingthatmaybeyouread a newpaper, yousee.
Oh, there's a U.
R L for T F upmoduleandthatyoupasteitintoyourbrowser.
Ifyoulookatsomeofthesemodelstructures, theylooklesslike a modelthatwouldbelongononemachineandmorelikeanentiresystem.
Sothat's thisisexactlywhatdistributedservingismeantforyouanditletsustakethesinglemodelandbasicallybreakitupintomicroserviceissotoget a betterfeelforthat, we'llseethatAndrewhastakenhisrabbitclassifierinthis, servingiton a modelserverandwillsaythat I wanttocreate a similarsystem.
Soifyou'refamiliarwithdeeplearning, there's thistechniqueofembeddingthingslikewordsorYouTubevideoID's as a stringofnumbers, right?
Werepresentthemasthisvectorofnumbers, andifyouhave a lotofwords, youhave a lotofYouTubevideos.
You'regonnahave a lotofdatasomuchthatitwon't fitononemachine.
Souse a systemlikethistosplitupthose M beddingsforthewordsintotheseshardsandweakendistributetheirandOfcourse, themainmodel, whenitneedssomething, canreachout, getitandthendothecomputation.
Anotherexampleiswhatwecalltriggeringmodels.
Sowe'llsaywe'rebuilding a spamdetectorandwehave a fullmodel, whichis a very, verypowerfulspamdetector.
Thiswillmakeitmucheasiertointegratethingswithexistingexistingserviceis, andit's nextbecauseyoudon't actuallyhavetochooseononemodelserverwithonetensorflowmodel, youcanserveeithertherestwillendpointorthe G r P C.
There's threeAPeyes.
There's somehigherlevelones.
Lookforclassificationandregression.
There's also a lowerlevelpredict, andthisismoreof a tensorintenseheroutforthethingsthatdon't fitinto, classifyandregress.
I'llquicklymentiontheAP I ifyou'refamiliarwithTensorflowexample, youknowthatrepresentingitinJasonis a littlebitcumbersome, soyoucanseeit's prettyverbosehere.
Andagain, wecantakeadvantageofbeamsportabilityasourown, whichmeanswecanusethedirectrunnerlocallywhereyoumightbestartingoutwith a smallpieceofdatabuildingsmallmodels, too.
Affirmthatyourapproachisairactuallycorrect, andthenscaleupintothecloudwiththedataflowrudderalsoutilizesomethingliketheFlickRunnerorthingsthatareinprogressrightnow, like a sparkofhonor.