Methods, systems, and apparatus, including computer programs encoded on computer storage media, for stream processing. One method includes receiving an event stream of first events by a first plurality of first local modelers of a stream processing system. Each local modeler processes a portion of received events of the event stream according to a first set of operations, the operations including aggregating information associated with each event to generate first aggregated information. A second plurality of second local modelers similarly generates second aggregated information from an event stream of second events. First and second local modelers provide, to a first central modeler, first and second aggregated information. A set of parameters of a respective machine learning model is determined by the first central modeler using the received aggregated information.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: receiving an event stream of first events by a first plurality of first local modelers of a stream processing system, wherein each first local modeler receives a respective portion of the first events, and wherein the first local modelers execute on a system of one or more computers; processing, by each first local modeler in parallel, events received by the first local modeler, including (i) aggregating information associated with each received event to generate first aggregated information, and (ii) generating processed events; receiving an event stream of processed events, generated by first local modelers, by a second plurality of second local modelers of the stream processing system, wherein each second local modeler receives a respective portion of the processed events, and wherein the second local modelers execute on the system of one or more computers; processing, by each second local modeler in parallel, processed events received by the second local modeler, including aggregating information associated with each received processed event to generate second aggregated information; providing, by one or more of the first local modelers, to a first central modeler executing on the system of one or more computers, first aggregated information; providing, by one or more of the second local modelers, to the first central modeler, second aggregated information; and determining, by the first central modeler, first parameters of a first machine learning model using aggregated information received by the first central modeler. 2. The method of claim 1, wherein: providing the first aggregated information to the first central modeler comprises providing the aggregated information asynchronously to the first central modeler; and each first local modeler receives a respective portion of the events from a router that executes on the system of one or more computers. 3. The method of claim 1, wherein providing the first aggregated information comprises, by each of the first local modelers: determining that the local modeler has processed a threshold number of events and then as a consequence providing first aggregated information generated by the local modeler to the first central modeler. 4. The method of claim 1, comprising: receiving, by the first central modeler, data specifying a learning program for determining parameters of the first machine learning model from aggregated information; and determining, by the first central modeler, the parameters of the first machine learning model by executing the learning program on aggregated information received by the first central modeler. 5. The method of claim 1, further comprising: providing, by the first central modeler, the parameters of the first machine learning model to a second central modeler executing on the system of one or more computers. 6. The method of claim 5, further comprising: receiving, by the second central modeler, parameters of the first machine learning model from the first central modeler; obtaining, by the second central modeler, external data; and determining, by the second central modeler, parameters of a second machine learning model using the external data and the parameters received from the first central modeler. 7. The method of claim 1, further comprising: providing, by the first central modeler, one or more of the parameters of the first machine learning model to one or more first local modelers for storage; processing, by the one or more first local modelers applying the first machine learning model, first events subsequently received by the one or more first local modelers to perform scoring of the event stream of first events and generate processed events; and aggregating, by each the one or more first local modelers, information associated with each first event subsequently received by the local modeler to generate first updated aggregated information. 8. The method of claim 7, further comprising: providing, by one or more of the first local modelers, first updated aggregated information to the first central modeler; determining, by the first central modeler, updated parameters associated with the first machine learning model using first updated aggregated information; and providing, by the first central modeler, one or more of the updated parameters of the first machine learning model to one or more first local modelers for storage. 9. The method of claim 8, further comprising: determining, by the first central modeler, that one or more of the updated parameters of the first machine learning model are different from a corresponding previously determined parameter by more than a threshold amount. 10. The method of claim 1, further comprising: providing, by one or more first local modelers of the first local modelers, to a third central modeler executing on the system of one or more computers, first aggregated information generated by the one or more first local modelers; and determining, by the third central modeler, third parameters of a third machine learning model using the first aggregated information received by the third central modeler. 11. The method of claim 10, comprising: receiving, by the first central modeler, data specifying a first learning program for determining first parameters of the first machine learning model from aggregated information received by the first central modeler; and receiving, by the third central modeler, data specifying a third learning program for determining third parameters of the third machine learning model from aggregated information received by the third central modeler. 12. The method of claim 10, further comprising: receiving an event stream of third events by a third plurality of third local modelers of the stream processing system, wherein each third local modeler receives a respective portion of the third events, and wherein the third local modelers execute on the system of one or more computers; processing, by each third local modeler in parallel, third events received by the third local modeler, including aggregating information associated with each received event to generate third aggregated information; providing, by one or more of the third local modelers, third aggregated information to the first central modeler; and providing, by one or more of the third local modelers, third aggregated information to the third central modeler. 13. The method of claim 12, further comprising: providing one or more third parameters of the third machine learning model to one or more first local modelers for storage; and providing one or more third parameters of the third machine learning model to one or more third local modelers for storage. 14. The method of claim 12, further comprising: providing one or more third parameters of the third machine learning model to the first central modeler; and determining, by the first central modeler, first parameters of the first machine learning model using aggregated information received by the first central modeler and one or more machine learning parameters received by the first central modeler. 15. A method comprising: receiving, by a first central modeler, respective first aggregated information generated by a first plurality of first local modelers, wherein each of the first local modelers performs a first set of stream processing operations and generates respective first aggregated information by operating in parallel on a respective portion of an event stream of first events, and wherein the first central modeler and the first local modelers execute on a system of one or more computers; receiving, by the first central modeler, respective second aggregated information generated by a second plurality of second local modelers, wherein each of the second local modelers performs a second set of stream processing operations and generates respective second aggregated information by operating in parallel on a respective portion of an event stream of second events, and wherein the second local modelers execute on the system of one or more computers; determining, by the first central modeler, one or more first parameters associated with a first machine learning model using the aggregated information received by the first central modeler from first local modelers and second local modelers; and providing, by the first central modeler, the one or more first parameters for storage to the first local modelers, the second local modelers, or both the first and second local modelers. 16. The method of claim 15, wherein providing, by the first central modeler, the one or more first parameters for storage comprises providing the parameters for local modelers to use in scoring events. 17. The method of claim 15, further comprising: generating, by the first local modelers, the event stream of second events. 18. The method of claim 15, wherein receiving, by the first central modeler, aggregated information comprises: requesting aggregated information from local modelers in communication with the first central modeler. 19. The method of claim 15, further comprising: determining, by the first central modeler, that aggregated information has been received from more than a first threshold number of local modelers; and determining, by the first central modeler, parameters associated with the respective machine learning model after determining, by the first central modeler, that aggregated information has been received from more than a first threshold number of local modelers. 20. The method of claim 15, further comprising: receiving, by a second central modeler, respective first aggregated information generated by the first local modelers, wherein the second central modeler executes on the system of one or more computers; receiving, by the second central modeler, respective second aggregated information generated by the second local modelers; determining, by the second central modeler, one or more second parameters associated with a second machine learning model using the aggregated information received by the second central modeler from first local modelers and second local modelers; and providing, by the second central modeler, the second parameters for storage to the first local modelers, the second local modelers, or both the first and second local modelers. 21. The method of claim 20, wherein providing, by the second central modeler, second parameters for storage comprises providing the parameters for local modelers to use in scoring events. 22. The method of claim 20, further comprising: receiving, by the second local modelers, second parameters from the second central modeler; and generating processed events, by the second local modelers, according to the second parameters received by the second local modelers, and providing the processed events to local modelers performing a subsequent set of operations. 23. The method of claim 20, further comprising: providing, by the first central modeler, one or more first parameters of the first machine learning model to the second central modeler. 24. The method of claim 20, further comprising: providing, by a particular central modeler executing on a system of one or more computers, parameters of a respective machine learning model as a final machine learning model to a user device. 25. The method of claim 20, further comprising: obtaining, by the second central modeler, external data; receiving, by the second central modeler, parameters from the first central modeler; and determining, by the second central modeler, the one or more second parameters associated with the second machine learning model using the external data and the first parameters received from the first local modeler. 26. A system implemented on one or more computers, the system comprising: a first central modeler; a first plurality of first local modelers operable to receive and process an event stream of first events, wherein each first local modeler is operable to receive in parallel a respective portion of the first events, to aggregate information associated with received first events to generate first aggregated information, to generate processed events, and to provide first aggregated information to the first central modeler; and a second plurality of second local modelers operable to receive and process an event stream of processed events generated by first local modelers, wherein each second local modeler is operable to receive in parallel a respective portion of the processed events, to aggregate information associated with received processed events to generate second aggregated information, and to provide second aggregated information to the first central modeler; wherein the first central modeler is operable to determine first parameters of a first machine learning model using first and second aggregated information received by the first central modeler. 27. The system of claim 26, further comprising: a first router and a second router; wherein the first router is operable to provide to each first local modeler its respective portion of the first events and the second router is operable to provide to each second local modeler its respective portion of the processed events. 28. The system of claim 26, wherein the first central modeler is operable to: receive data specifying a learning program for determining first parameters of the first machine learning model from aggregated information; and determine the first parameters of the first machine learning model by executing the learning program on aggregated information received by the first central modeler. 29. The system of claim 26, further comprising: a second central modeler; wherein the second central modeler is operable to receive first parameters of the first machine learning model determined by the first central modeler. 30. The system of claim 29, wherein the second central modeler is operable to: obtain external data; and determine second parameters of a second machine learning model using the external data and the first parameters received by the second central modeler.