ViperGPT: Visual Inference via Python Execution for Reasoning

ViperGPT: Visual Inference via Python Execution for Reasoning TBD TBD About this Session Answering queries about visual inputs is a complex task that requires both visual processing and reasoning. In this talk, I’ll show you how large language models can be useful for reasoning in such settings that fall outside what you’d normally think of as language. ViperGPT uses a provided API to access computer vision modules, then composes them by generating Python code that is later executed. This simple approach requires no further training, and achieves state-of-the-art results across various complex visual tasks. I’ll discuss how ViperGPT served as the inspiration for code-based agents, with thoughts on what the future of such agents may hold. About the Speaker Sachit Menon is a PhD student in Computer Science at Columbia University advised by Professor Carl Vondrick. His research centres around models trained at scale and ways to use them for novel tasks, such as using large language models to perform visual reasoning. About Tech Talks A regular series by Soroco, Tech Talks are expert-led technical sessions that deep dive into a specific area of technology and provide engineers valuable insights and tools. It also examines fascinating research, use cases and facilitates larger conversations around cutting-edge tech. Registration is now closed for this Tech Talk See Scout in action. Schedule your demo now! Get in Touch

Published
Categorized as Tech Talk

Optimizing Causal Graphs: A Modern Perspective

Optimizing Causal Graphs:A Modern Perspective 21st Jan 2024 6:30 PM IST | 8:00 AM EST | 1:00 PM GMT About this Session Two important factors in modern machine learning systems are interpretability and causality. These factors help us determine the basis for decisions made by machine learning algorithms, which, in turn, improve the system’s performance and prevent unexpected failures. Understanding how these factors influence each other is crucial for building trustworthy and transparent models. Graphical models, particularly directed acyclic graphs (DAGs), are effective tools for representing these relationships. They clearly illustrate how one factor can directly cause another. However, despite their intuitive nature, determining the structure of DAGs from data is challenging. This process often requires testing numerous possible combinations and relies heavily on heuristic methods. In this talk, Kevin will present a fresh perspective on this challenge. Instead of traditional methods, he will demonstrate how to transform the problem into a smoother, more streamlined optimization process that avoids complex discrete combinations. This innovative approach opens up new possibilities for efficiently and generically discovering causal relationships in data. About the Speaker Kevin Bello is a Research Scientist at Soroco. Previously, he was an NSF Computing Innovation Fellow and a postdoctoral researcher jointly affiliated with the Machine Learning Department at Carnegie Mellon University and the Booth School of Business at the University of Chicago. Before that, Kevin earned his Ph.D. in Computer Science from Purdue University. About this Session A regular series by Soroco, Tech Talks are expert-led technical sessions that deep dive into a specific area of technology and provide engineers valuable insights and tools. It also examines fascinating research, use cases and facilitates larger conversations around cutting-edge tech. Registration is now closed for this Tech Talk See Scout in action. Schedule your demo now! Get in Touch

Published
Categorized as Tech Talk

A Glimpse into the Universe at Cosmic Dawn

The Universe at Cosmic Dawn and Demystifying It with ML 12th Sep 2024 6:30 PM IST | 9:00 AM EST | 1:00 PM GMT About this Session The epoch of Cosmic Dawn offers a promising window into the fundamental physics of our Universe. Current observations by the Hubble and James Webb Space Telescopes are extending our view into the distant past, revealing the properties of the earliest generations of galaxies. In this talk, a brief overview of the current state of this field, starting with observations of distant galaxies and concluding with the cosmic 21-cm signal will be discussed. Throughout, Nashwan will also highlight some analysis and machine learning techniques employed in extracting information from data. About the Speaker Nashwan Sabti is a new member of the Soroco AI/ML team. Prior to joining Soroco, he was a Research Fellow at Johns Hopkins University, where he conducted research at the intersection of physics, data science, and machine learning. His work mainly focused on exploring the early Universe, particularly the formation of the first generations of galaxies, from both astrophysical and cosmological perspectives. Nash grew up in the Netherlands, where he completed his MSc and BSc studies, and later lived in London for a few years while pursuing his PhD About this Session A regular series by Soroco, Tech Talks are expert-led technical sessions that deep dive into a specific area of technology and provide engineers valuable insights and tools. It also examines fascinating research, use cases and facilitates larger conversations around cutting-edge tech. Registration is now closed for this Tech Talk See Scout in action. Schedule your demo now! Get in Touch

Published
Categorized as Tech Talk

Waldo: A Private Time-Series Database from Function Secret Sharing

Waldo: A Private Time-Series Database from Function Secret Sharing Talk by Emma Dauterman, Ph.D. Student in Computer Science, UC Berkeley Article by Devesh Krishnani About Our Guest Speaker Soroco invited Emma Dauterman, a current 4th year Ph.D. student studying computer science in UC Berkeley’s RISELab where she is advised by Raluca Ada Popa and Ion Stoica. Emma’s work throughout her Ph.D. has focused broadly in building secure systems using cryptography, published in IEEE and ACM conferences such as S&P (Oakland), SOSP, OSDI, and others. We invited Emma to give a talk at Soroco as her work relates very closely to technologies we build that must be both secure and scalable. Why this talk at Soroco The work that Emma presented at Soroco, called Waldo, is a private time-series database focused on how to protect the privacy of user data stored in it by cryptographically securing their data, access patterns of their data, as well the query filter values. Particularly, the work also focused on how to support multi-predicate filtering which is common in database queries. All of this was published in S&P (Oakland) in “Waldo: A Private Time-Series Database from Function Secret Sharing.” At Soroco, we build the work graph that helps organizations understand how digital work gets done. The work graph is a connected sequence of steps that teams execute. It is, in essence, a map of how teams execute digital work, and it lies at the intersection of people, work, and technology. Once discovered, the work graph enables teams to collaborate and work more effectively. Since the work graph is a sequence of steps that teams execute and sourced from the activities that the teams perform, a major role of the work graph’s design and information access is to ensure end-user privacy is protected. How we protect end-user privacy is and will always be a focus of our system design. For these reasons, we invited Emma to give the talk so that we could learn more about furthering cryptographic storage and privacy. Watch the Talk Powerful ideas from Waldo As presented in Waldo’s system design, it is focused on a time-series database design that supports write-intensive workloads that have a high ratio of updates (‘appends’ being what is supported), where multiple features and multiple predicates are supported while keeping the data cryptographically protected. There are two types of clients in the system, data producers and queriers (or clients that are both). Data producers collect real-time data and update server state with it. Data queriers query the data collected stored on the server. Distributed Trust: The author’s work around Waldo first leverages distributed trust through multiple server deployments. For example, by storing the data in three servers present in three different trust domains. Therefore, if the data is compromised in one trust domain the other two trust domains could still be used to access the correct data. Practically, that means that these servers should be deployed in different clouds and managed by different organizations. By distributing information across these servers, if a majority of the servers are honest then a single malicious server cannot learn the data contents, query filter values, or any search access patterns. Clients need to send messages directly to each of the servers, distributing the information and trust. At Soroco, We think that this follows a powerful design pattern to protect against single or malicious compromised servers. However, it does increase system design complexity and cost. Therefore, when to leverage the distributed trust framework depends on what data is important. Encrypting query at client and decrypting at server using Function Secret Sharing: Waldo suggests the use of a cryptographic technique called Function Secret Sharing (FSS) to generate FSS keys for the query on the client side and evaluate it at the server. Combining this technique with replicated secret sharing ensures that the malicious attacker is not able to determine the access pattern or the filter values used to access the result. In the experiment setting, there is a medical practitioner who queries the data across two data servers using FSS keys generated at client side and the server returns the shares of data. These shares of data are again aggregated at client side to produce the final output. Although Waldo’s complete protocol uses 3 servers, we are showing a simplified example with two below. Emma covers the complete protocol in both the paper and the recording of her talk above! Using MAC key along with FSS key: The Waldo system design further expands on the above idea by introducing the concept of using MAC keys to verify at client side whether the result from server is correct. Here the client is only checking whether the data is compromised on the server or not. In the experimental setting, the medical practitioner sends pair of keys to the server. Waldo uses MAC techniques originating in multi-party computation to provide these security guarantees. Using Function Secret Sharing To ensure that a malicious party is not able to access the access pattern of the data: let’s deep dive into the problem in Soroco’s context. Please note that this is a simplified example of the Waldo system, and we encourage reading the original paper and watching the video for further real-world applications! Suppose there is an individual in a data analyst role that wants to identify how many applications were accessed between two periods of time X and Y. The query in the work graph would be: Query = “select count(distinct application) from workgraph where time between X and Y. “ In this simplified example and strawman-based approach, we will generate secure keys for this query, e.g., K1 and K2 using a Generate method. K1, K2 <- Gen(Query). Sticking with this simplified model, we can then take these keys K1, K2 and initiate a request to the data servers using one key each as shown below. At the server level, we can then use a method Eval and iterate across the entire dataset. Eval method will either produce zero or one… Continue reading Waldo: A Private Time-Series Database from Function Secret Sharing

Published
Categorized as Tech Talk

Tech Talk: Building Systems that Effectively and Cryptographically Protect User Privacy

Building Systems that Effectively and Cryptographically Protect User Privacy George Nychis 22 July 2022 15 minute read About Our Guest Speaker Soroco invited Sam Kumar, a current 5th year Ph.D. student from U.C. Berkeley and prior U.C. Berkeley B.S. CS graduate, to give a talk on his and his colleague’s novel computer security and privacy research. The work that Sam presented at Soroco, which you can watch below, was published in the top Computer Science system design conferences NSDI 2020 and OSDI 2021. The latter of which was awarded best paper of that year’s OSDI conference. These two pieces of work that Sam gave his talk on were centered around how to build systems that effectively and cryptographically protect user privacy. Why this talk at Soroco Building systems that effectively and cryptographically protect user privacy is highly relevant to the work we do at Soroco. At Soroco, we are building the work graph to understand how digital work happens at the last mile. A work graph is a connected sequence of steps that teams execute to get work done. It is, in essence, a map of how teams execute digital work, and it lies at the intersection of people, work, and technology. Once discovered, the work graph enables teams to collaborate and work more effectively. Since the work graph is a sequence of steps that teams execute and sourced from the activities that the teams perform, a major role of the work graph’s design and information access is to ensure end-user privacy is protected. How we protect end-user privacy is and will always be a focus of our team. Watch the Talk Powerful ideas from Ghostor and MAGE As shown above, protecting user privacy goes far beyond simply encrypting their information (i.e., the 4th layer down – hiding the data in each object). It is important to protect what users are part of the system (i.e., who has an account, who is participating), hiding timing of object accesses, and even hiding which user makes each access. For example, although the contents or even who an object in the system belongs to can be hidden, timings of access to that file or correlating those times with other information can eventually help an adversary conclude who it belongs to even if not knowing what is in it. It is first this end-to-end thinking about protecting user privacy that we found extremely valuable in system design. Layers of Anonymity: The author’s work around Ghostor first illustrates multiple layers of protection required to provide stronger guarantees of user privacy. While many readers of this blog post may think one of the strongest aspects to providing user privacy is simply encrypting that user’s information, there are far more layers of security required to ensure user information is kept private. Verifiable Linearizability: Second, the author’s present the importance of not just protecting the contents of information and that it is valid (e.g., via a signature), but also being able to provide guarantees that it is the most up-to-date version of the information. This is because encrypting information and signing it does not necessarily guarantee that an adversary could not simply present back an older representation of that information which could no longer be valid or missing a sensitive update to it. The author’s work in Ghostor provides a simple example of a patient system in the medical field, where an adversary could return a valid older copy of data before an individual had more recent updates to their medical records that are important to protecting their health (e.g., notes of recent allergies). Ghostor is the author’s proposed system design that can provide the multiple layers of anonymity with variable linearizability. This incorporates a blockchain that could provide decentralized trust. That would hide user identity from even the servers that process the information, which we find is a powerful concept. The decentralized verifiability of the blockchain can also provide the verifiable linearizability of the data. Both the user and the server can validate that the information being processed is the most recent. Since there are concerns of overhead in updating the blockchain, it is proposed that a single hash that represents the entire system is updated every epoch. That provides verifiability of the entire system and its information. Additionally, there are several properties of the system design that are important to protecting the user anonymity along with the verifiability and anonymous properties of the blockchain. For example, ensuring there are no server-visible ACLs and no server-visible user public keys as being important. There are several others that the authors present that we encourage the reader to get more details from their paper. MAGE further builds on the principals of security and privacy by focusing on proposed improvements to Secure Computation. Secure Computation being privacy preserving technology that protects the identity of parties involved and the information being input to the cryptographic function. The only information being disclosed being the output of the function. This can allow different parties to participate in an agreed upon computation, without ever knowing the input to that function. An example being, two websites being able to use Secure Computation to collaborate and know whether a user has used the same password on their sites (which can weaken security) without knowing the actual password or the user in question. Where MAGE’s work focuses is on the system challenges in providing Secure Computation when there is substantial overhead from the underlying cryptography. The key focuses in MAGE being providing a paging system that allows MAGE to provide highly efficient virtual memory abstractions for Secure Computation. This enables Secure Computations that potentially do not fit in memory at nearly the same speed. Doing so required the authors to carefully plan the memory access to reduce paging, in what they called memory programming. That concept being quite unique and what we believe is powerful to furthering the field of Secure Computation. Making it more scalable for functions with large memory requirements. Additional Thoughts and Conclusions… Continue reading Tech Talk: Building Systems that Effectively and Cryptographically Protect User Privacy

Published
Categorized as Tech Talk

NBDTs and a Realistic View of Interpretability for Deep Learning

NBDTs and a Realistic View of Interpretability for Deep Learning Talk by Lisa Dunlap, Ph.D. Student, UC Berkeley Article by Tanmay Jaiswal About our Guest Speaker Soroco invited Lisa Dunlap, a 2nd year PhD Student from UC Berkeley to deliver a talk on her work in explainable AI at Berkeley Artificial Intelligence Research (BAIR) Lab. The work that Lisa discussed during her talk, which you can see below, focused on a problem as old as Neural Networks – Lack of Explainability. Lisa and her colleagues came up with a new and interesting way to combine Neural Networks with Decision Trees while keeping both their strengths and compensating for their weaknesses. Their paper on Neural Backed Decision Trees (NBDTs) was published in ICLR, 2019. Why This Talk at Soroco Soroco is building a work graph to help enterprises understand how they do digital work at the user level. Soroco’s technology Scout performs process and task discovery to find patterns in the data which represent business steps conducted by users, which helps annotate the work graph with the business context of how teams conduct processes. Soroco’s Machine Learning algorithms classify user activities into processes and tasks but when our models suggest that a set of user activities should be attributed to a particular process, it helps to understand why the models think so. Explainable insights can help us provide more accurate predictions while also empowering our customers to highlight information that can help us identify their processes better. That’s where we think the work presented by Lisa is pertinent to what we do. A deeper knowledge of the day-to-day tasks and processes enables teams to identify their pain points, bottlenecks, and discover the variations in the way processes are performed. Teams can then standardize their processes, address their system or process bottlenecks, and even automate repetitive tasks to improve their efficiency. Watch the Talk https://www.youtube.com/watch?time_continue=5&v=8LzlU1M8ToA&embeds_referring_euri=https%3A%2F%2Fsorsandbox.tempurl.host%2F&embeds_referring_origin=https%3A%2F%2Fsorsandbox.tempurl.host&source_ve_path=Mjg2NjQsMjg2NjY&feature=emb_logo Motivation Lisa highlighted a key challenge in developing and using machine learning models – understanding how and why a model makes a prediction, i.e. – explainability and interpretability. This is a problem for both developers and their users. For users, more opaque models are harder to understand and hence harder to trust. For developers, explainable models are easier to debug. Black box the models, regardless of their accuracy, are harder to work with. If a model is not explainable, it is difficult to determine if the error comes from a poor choice of model, lack of hyperparameter tuning, or poor data quality. If the data quality is poor, the developer shouldn’t have to go through every example, relabel, and retrain repeatedly. Interpretable models provide a human-in-the-loop way to dive into the data. Interpretability is for these reasons, one of the most desirable properties of models in addition to accuracy. Our most powerful and accurate models – Neural Networks – are also the least interpretable. Gradient based interpretability methods and saliency maps explain the part of the input that was most influential in making a decision, but they don’t tell us how the model made the decision. Our most interpretable models like decision trees are not nearly as powerful as Neural Networks but they provide a way to explain how the model arrived at a decision. Key Ideas from the Talk NBDTs enhance the traditional neural network architecture to make them more interpretable while retaining or even improving their accuracy. They consist of a decision tree that is created to work in tandem with a neural network to augment the explainability of the combined model. Below we describe more of their beneficial properties and what we think makes them powerful.Plug and play over a traditional neural network The most beneficial part of this approach is that it keeps the neural network almost as is. Features from the neural network itself are used to build the tree. The nodes of the fully connected layer of the neural network contain weights which describe the features that the node is looking for. Running agglomerative clustering over these nodes tells us which nodes can be grouped together. The resulting dendrogram give us the structure of the decision tree.Providing intermediate results that lead to the decision The intermediate nodes of the decision tree are still not explainable or interpretable. WordNet is a hierarchy of nouns. To assign labels to nodes, the earliest common ancestor for all leaves in a subtree is found from WordNet. The paper describes an intuitive example to help us understand this – say Dog and Cat are two categories that the original model predicts and they correspond to a node in the tree. Clustering tells us that they share a parent. To find a WordNet label for the parent, all ancestor concepts for Dog and Cat are found, like Mammal, Animal, and Living Thing. The closest shared ancestor is Mammal, so we assign Mammal to the parent of Dog and Cat. We do this recursively until all the nodes have a label. Optimizing for interpretability also optimizes for accuracyThe last and most interesting contribution of the paper is how they improve both the accuracy and the interpretability of the Neural networks by adding a Tree Supervision Loss. The tree supervision loss is a cross entropy loss that encourages the network to predict the right path in the dendrogram with a higher probability. This loss ended up improving both explainability and the accuracy of the model. Additional Thoughts and Conclusions We discussed how NBDTs or related concepts may be helpful in solving some of our problems at Soroco. Some of the key challenges with implementing such an approach in the wild is that it could be hard to find labels for intermediate nodes of the decision tree. We discussed how multimodal models like CLIP could help in such cases. We also discussed how other large language models (LLMs) may be useful in purely NLP contexts. Most importantly, the talk debunks the myth that models cannot be both highly accurate and explainable. It has had Soroco developers rethinking how we… Continue reading NBDTs and a Realistic View of Interpretability for Deep Learning

Published
Categorized as Tech Talk

Generative AI: How it learns and works | Soroco Tech Talk

Generative AI: How it learns and works 7th May 2024 6:30 PM IST | 9:00 AM EST | 1:00 PM GMT About this Session Since the introduction of ChatGPT in November 2022, the promise and impact of generative AI have become increasingly clear. This talk will provide a deeper understanding for how large language models are trained and work, including discussion on their broader impact. No matter whether you are in a tech or non-tech role – this session will help you better understand generative AI and its relevance to all of us. About the Speaker Teddy Svoronos is a Senior Lecturer of Public Policy at the Harvard Kennedy School, where he teaches courses in using statistical methods to improve public policy. His primary interest lies in the use of technology to replicate the dynamics of small classes on a large scale. To this end, Teddy develops fully online courses and blended learning modules that he uses to teach residential students, as well as civil servants abroad. He is also a cofounder of Teachly, a web application focused on creating effective and inclusive learning environments. Teddy received his PhD in Health Policy from Harvard University and his Master’s in Public Health from Columbia University. Senior Lecturer of Public Policy at Cofounder of About this Session A regular series by Soroco, Tech Talks are expert-led technical sessions that deep dive into a specific area of technology and provide engineers valuable insights and tools. It also examines fascinating research, use cases and facilitates larger conversations around cutting-edge tech. Registration is now closed for this Tech Talk See Scout in action. Schedule your demo now! Get in Touch

Published
Categorized as Tech Talk