BYU-PRISM / GEKKO

GEKKO Python for Machine Learning and Dynamic Optimization
https://machinelearning.byu.edu
Other
569 stars 102 forks source link

Data Privacy #164

Closed KulikDM closed 11 months ago

KulikDM commented 11 months ago

Hi, I have been working with Gekko for a while now and really enjoy using it both for personal and professional use. Recently, I have wondered about data privacy when using GEKKO(remote=True) and the compute is being done remotely. It seems that the documentation does not really mention anything more than it is being computed remotely, unless I have misunderstood something. Is there any information being collected and stored? It is especially a sensitive case for those who are using this on customer data or developing IP, as this is a possible concern. I know that I could use GEKKO(remote=False), but the difference in speed is often quite slower. Any advice on this would be most appreciated.

APMonitor commented 11 months ago

Thanks for requesting additional information on data privacy. Here is the APS Privacy Policy that gives information on the content that is collected and how it is used. You can also see what is collected from a public server solve request by opening the run directory at m.open_folder(). The run directory contains files that are sent to and from the server such as gk0_model.apm and gk0_data.csv. As long as the variables are not given a specific name with m.Var(name='myName'), the variable names are substituted to remove the model or data intent. Some applications are used as benchmarks in solver development and in hyperparameter optimization of the gekko default values. Gekko is downloaded 11,000x per month and there are many requests to the server each day across many disciplines.

One difference between the local solution with remote=False and the public server solution with remote=True is the solver option availability. Solvers such as IPOPT can only be distributed with certain linear solvers such as MUMPS. The publicly servers have additional solver options that require a software license. Another reason for the speed difference may be the compute hardware. It is possible to run the APM compute server locally that can handle a company's compute requests. Use server='http://10.0.0.10' (with the local IP address) and remote=True with Gekko to use the local or cloud-based server that you configure. Professional support is also available at support@apmonitor.com or freely available support by asking a question with tag gekko to StackOverflow.

KulikDM commented 11 months ago

Thank for this information, that's exactly what I wanted to know. Much appreciated!