Connor ShortenHey everyone! Thank you so much for watching this explanation of DSPy! DSPy is a super exciting new framework for developing LLM programs! Pioneered by frameworks such as LangChain and LlamaIndex, we can build much more powerful systems by chaining together LLM calls! This means that the output of one call to an LLM is the input to the next, and so on. We can think of chains as programs, with each LLM call analogous to a function that takes text as input and produces text as output.
DSPy offers a new programming model, inspired by PyTorch, that gives you a massive amount of control over these LLM programs. Further, the Signature abstraction wraps prompts and structured input / outputs to clean up LLM program codebases. DSPy then pairs the syntax with a super novel *compiler* that jointly optimizes the instructions for each component of an LLM program, as well as sourcing examples of the task.
Here is my review of the ideas in DSPy, covering the core concepts and walking through the introduction notebooks showing how to compile a simple retrieve-then-read RAG program, as well as a more advanced Multi-Hop RAG program where you have 2 LLM components to be optimized with the DSPy compiler! I hope you find it useful!
Please send me a message @CShorten30 on X, I would love to discuss what you are working on and offer any help with DSPy and/or Weaviate!
DSPy Explained!Connor Shorten2024-01-29 | Hey everyone! Thank you so much for watching this explanation of DSPy! DSPy is a super exciting new framework for developing LLM programs! Pioneered by frameworks such as LangChain and LlamaIndex, we can build much more powerful systems by chaining together LLM calls! This means that the output of one call to an LLM is the input to the next, and so on. We can think of chains as programs, with each LLM call analogous to a function that takes text as input and produces text as output.
DSPy offers a new programming model, inspired by PyTorch, that gives you a massive amount of control over these LLM programs. Further, the Signature abstraction wraps prompts and structured input / outputs to clean up LLM program codebases. DSPy then pairs the syntax with a super novel *compiler* that jointly optimizes the instructions for each component of an LLM program, as well as sourcing examples of the task.
Here is my review of the ideas in DSPy, covering the core concepts and walking through the introduction notebooks showing how to compile a simple retrieve-then-read RAG program, as well as a more advanced Multi-Hop RAG program where you have 2 LLM components to be optimized with the DSPy compiler! I hope you find it useful!
Please send me a message @CShorten30 on X, I would love to discuss what you are working on and offer any help with DSPy and/or Weaviate!
Chapters 0:00 DSPy! 1:37 The DSPy Programming Model 5:07 LLM Programs 8:56 Programming, Not Prompting 13:48 PyTorch Analogy 19:16 The DSPy Compiler 27:50 Metrics 30:13 Teleprompters 30:50 Code Example 50:37 Start using DSPy!Chunking with Generative Feedback LoopsConnor Shorten2024-08-12 | Hey everyone! I am super excited to share a quick notebook on using Generative Feedback Loops to chunk code files and better structure how they are indexed in the Weaviate Vector Database! Chunking is one of the key topics in Vector Search. We need to break up long documents into smaller parts that we can encode with a pre-trained embedding model and index in a vector index, such as HNSW-PQ. Most solutions use some form of a rolling token window such as taking every 300 tokens as a chunk, with say 50 tokens overlapping between each window. Unfortunately, this solution doesn't work that well for code particularly. We don't want the chunk to cut off in the middle of a function or class definition. Thus, this tutorial employs Generative Feedback Loops to analyze the best places to chunk the code file and write a natural language description of what the code in the chunk does.
I hope this inspires your interest in Generative Feedback Loops, soon more! Also please let us know if you have any issues with running the code in the notebook, more than happy to help!
Here are some experiments we've done on OPRO prompt optimization to achieve JSON outputs without Structured Decoding - github.com/weaviate/structured-rag
Chapters: 0:00 Introduction 3:07 Where to find the code 5:15 What is Semantic Chunking? 6:22 Code deep diveGoogle Gemini 1.5 Pro and Flash - Demo of Long Context LLMs!Connor Shorten2024-05-17 | Hey everyone! Thanks so much for watching this video exploring Gemini Pro 1.5 and Gemini Flash! Long Context LLMs!! This video covers 3 key tests, the classic "Lost in the Middle" exploration, using Long Context LLMs as Re-rankers in Search, and finally, testing Many-Shot In-Context Learning! I am really excited about the potential of Many-Shot In-Context Learning with DSPy's `BootstrapFewShot` and Gemini, curious to know what you think!
Chapters 0:00 Gemini 1.5!! 1:25 Setup and Overview 4:30 Lost in the Middle test 7:18 Gemini for Re-ranking 9:22 Many-Shot In-Context LearningLlama 3 RAG Demo with DSPy Optimization, Ollama, and Weaviate!Connor Shorten2024-04-18 | Hey everyone! Thank you so much for watching this overview of Llama 3 looking at the release notes and seeing a demo of how to integrate it with DSPy through Ollama and how to use DSPy's MIPRO to find the optimal prompt when using this new large language model for RAG!
We are hosting an event in San Francisco on May 1st with Arize AI and Cohere, featuring a talk from Omar Khattab, the lead author of DSPy! Hope to see you there! https://lu.ma/dspy
Chapters 0:00 Llama3!! 1:28 Release Notes 5:35 Performance Reporting 9:50 Training Details 17:32 DSPy Demo!Building RAG with Command R+ from Cohere, DSPy, and Weaviate!Connor Shorten2024-04-04 | Hey everyone! Thank you so much for watching this overview of Command R+ showing you how you can use the new model in DSPy and a quick RAG demo, as well as walking through the details of the release post! Congratulations to the Cohere team! Super exciting times to be working with LLM systems!
Unfortunately, Large Language Models will not consistently follow the instructions that you give them. This is a massive problem when you are building AI systems that require a particular type of output from the previous step to feed into the next one!
For example, imagine you are building a blog post writing system that first takes a question and retrieved context to output a list of topics. These topics have to be formatted in a particular way, such as a comma-separated list or a JSON of Topic objects, such that the system can continue writing the blog post!
I am SUPER excited to share the 4th video in my DSPy series, diving into 3 solutions to structuring outputs in DSPy programs: (1) TypedPredictors, (2) DSPy Assertions, and (3) Custom Guardrails with the DSPy programming model!
TypedPredictors follow the line of thinking around JSON mode and using Pydantic BaseModels to interface types and custom objects into a JSON template for LLMs. The output can then be validated to provide a more structured retry prompt to correct the output structure!
DSPy Assertions are one of the core building blocks of DSPy, offering an interface to input a boolean-valued function and a retry prompt which is templated alongside the past output to retry the call to the LLM!
Custom Guardrails with the DSPy Programming Model are one of the things I love the most about DSPy — we have unlimited flexibility to control these systems however we want. The video will also show you how to write custom guardrails and retry Signatures and discussion around using TypedPredictors for your Custom Guardrails and potentially feeding your Custom Guardrails into a DSPy Assertion.
I had so much fun exploring this topic! Further seeing how well OpenAI’s GPT-4 and GPT-3.5-Turbo, Cohere’s Command R, and Mistral 7B hosted with Ollama perform with each Structured Output strategy! I also found monitoring structured output retries to be another fantastic application of Arize Phoenix! I hope you find the video useful!
**ERRATA** (Massive thank you to Thomas Ahle for sending some notes and clarifications of content covered in the video) 1. `dspy.TypedPredictor` can be used directly instead of `dspy.functional.TypedPredictor` 2. When creating a pydantic type, `list[Topic]` can be used directly in the Signature without needing the `Topics` wrapper. 3. The default `max_retry` for TypedPredictor is 3, and can be set when creating the TypedPredictor. 4. Setting `TypedPredictor(explain_errors=True)` can help with retry errors by providing clearer descriptions of what needs to change.
Chapters 0:00 Welcome! Let’s Structure LLM Outputs! 3:12 Background (Instructor, Function Calling, JSON mode) 9:08 TypedPredictors Demo 16:00 Logging with Arize Phoenix 18:15 DSPy Assertions 22:15 Custom GuardrailsAdding Depth to DSPy ProgramsConnor Shorten2024-03-04 | Hey everyone! Thank you so much for watching the 3rd edition of the DSPy series, Adding Depth to DSPy Programs!! This video begins with some DSPy news such as STORM, DSPy Assertions, and Typed Signatures! We then dive into the concept of adding depth to DSPy programs, taking a further look at what it means to have unique input-output examples for each component and how we can compose DSPy programs with different LLMs per component! We then dive into two notebooks illustrating adding depth to RAG programs and a 4-layer question to blog post writer!
Chapters 0:00 Intro 0:50 Chapters Overview 5:06 Weaviate Recipes 5:24 DSPy News and Community Notes 13:51 Adding Depth to RAG Programs 18:40 Multi-Model DSPy Programs 20:18 DSPy Optimizers 25:30 Deep Dive Optimizers 27:55 Into the Optimizer Code! 37:48 Demo #1: Adding Depth to RAG 1:05:25 Demo #2: Questions to Blogs 1:07:48 Thank you so much for watching!Getting Started with RAG in DSPy!Connor Shorten2024-02-12 | Hey everyone! Thank you so much for watching this tutorial on getting started with RAG programming in DSPy! This video will take you through 4 major aspects of building DSPy programs (1) Installation, settings, and Datasets with dspy.Example, (2) LLM Metrics, (3) The DSPy programming model, and (4) Optimization!!
Stephen Byrne, Why I'm excited about DSPy: https://substack.stephen.so/p/why-im-excited-about-dspy
Chapters 0:00 Intro! 1:35 Where to find the code 2:08 Community Notes 4:00 Getting Started with RAG 7:56 0. DSPy Settings and Installation 10:00 1. DSPy Datasets 11:56 2. LLM Metrics 19:22 3. The DSPy Programming Model 23:32 4. DSPy Optimization 30:45 RecapApproximate Nearest Neighbor Benchmarks - Weaviate Podcast RecapConnor Shorten2022-05-30 | Please check out the full podcast here: youtube.com/watch?v=kG3ji89AFyQ
This video is a commentary on the latest Weaviate Podcast with Etienne Dilocker on ANN Benchmarks. ANN search -- short for Approximate Nearest Neighbors -- describes algorithms that enable efficient distance comparison between an encoded query vector and a vector database. For example, we may have 1 billion vectors to search through -- we don't want to do a dot product distance between our query and 1 billion candidate vectors! This podcast describes Weaviate's efforts to benchmark HNSW within the Weaviate system and give users a sense of how performance varies with respect to each dataset (and their respective properties), as well as the hyperparameters of the HNSW algorithm.
I hope you find this useful, happy to answer any questions / hold any discussion! Thank you for watching!Search through Y Combinator startups with Weaviate!Connor Shorten2022-04-03 | Please check out Eric Jang's article "Ranking YC Companies with a Neural Net": evjang.com/2022/04/02/yc-rank.html
Timecodes 0:00 Introduction 0:58 Weaviate Demo 3:40 Article Overview 10:45 NLP for Venture Capital and Data-Centric AIMosaicML Composer for faster and cheaper Deep Learning!Connor Shorten2022-03-28 | Please leave a star! github.com/mosaicml/composer
Thank you so much for watching! This video presents some details of MosaicML's Composer launch and how to use it in Python. I am really excited about this company and their mission to deliver faster and cheaper Deep Learning training! I hope you find this video useful, happy to answer any questions you might have about this or these ideas in Efficient Deep Learning generally!
The full Weaviate podcast with Jonathan Frankle will be uploaded very soon on SeMI Technologies YouTube, please subscribe! youtube.com/c/SeMI-and-Weaviate
Chapters 0:00 Introduction 1:45 Documentation Intro 4:20 Composer Notebooks 5:35 Functional API 10:25 Composer Trainer 15:35 Methods Overview 16:58 Jonathan Frankle 18:25 Podcast ClipJina AI DocArray - Documentation OverviewConnor Shorten2022-03-19 | I hope you found this useful, please let me know if you have any questions or ideas!
Please check out SeMI Technologies on YouTube: youtube.com/c/SeMI-and-Weaviate/videosWhat lead Jina AI CEO Han Xiao to Neural Search?Connor Shorten2022-03-17 | This video explains one of the biggest lessons for me in interviewing Han Xiao from Jina AI. I hope this was a good explanation of the preprocessing / granularity of embeddings and how that can enable different kinds of search applications.
Chapters 0:00 IntroductionFull Stack Neural SearchConnor Shorten2022-03-17 | This video explains one of the biggest lessons for me in interviewing Han Xiao from Jina AI. I hope this was a good explanation of the preprocessing / granularity of embeddings and how that can enable different kinds of search applications.
Chapters 0:00 Please check out SeMI YouTube! 0:15 My takeaways on Full Stack Neural Search 11:04 Podcast Clip - Han XiaoPython Tutorial: How to use Weaviate and Jina AI for Image Search!Connor Shorten2022-03-16 | I hope this video helps you get started with Image Search using Weaviate and Jina AI - happy to answer any questions / help solve problems!
Get started with the Weaviate Cloud Service: console.semi.technologyCausal Inference in Deep Learning (Podcast Overview with Brady Neal)Connor Shorten2022-03-01 | Hey everyone! Hopefully this video helps supplement the new Weaviate podcast with Brady Neal, I hope you find this interesting / useful!
0:00 New Weaviate Podcast! 0:42 Brady Neal Causal Inference 1:34 Oogway.ai 2:45 Whiteboard Ideas 5:35 Discussion TopicsOpenAI Embeddings API - (Interview Recap and Background)Connor Shorten2022-02-12 | Hey everyone! I recently interviewed Arvind Neelakantan from OpenAI about the new OpenAI Embeddings API on the Weaviate Podcast! This video provides some additional detail for the different topics that were discussed. If you find this video to be informative, please check out SeMI technologies on youtube where we are working hard on developing content explaining concepts in Deep Learning for Search.
SeMI Technologies on YouTube: youtube.com/channel/UCJKT6kJ3IFYybWnL7jbXxhQAI Weekly Update - February 7th, 2022Connor Shorten2022-02-07 | Thanks for watching! Please subscribe for more Deep Learning and AI videos, the list of papers is below under "Content Links"
Please subscribe to SeMI Technologies (creators of the Weaviate Vector Search Engine) on YouTube: youtube.com/c/SeMI-and-Weaviate
Chapters: 0:00 Introduction 0:18 Weaviate Vector Search 0:34 Fully Online Meta-Learning 6:03 Datamodels 7:38 Dynamic Vector Quantization 9:57 AlphaCode 14:35 GPT-NeoX-20B 15:32 PromptSource 17:52 Chain of Thought Prompting 19:52 Scaling Laws for Routed Language Models 21:12 Active Learning over Multiple Domains 22:35 BC-Z (Vision-Based Robots and Language) 24:10 Bootstrapping Language-Image Pre-training (BLIP) 25:38 How to Leverage Unlabeled Offline RL Data 26:24 Challenges of Exploration for Offline RL 27:04 ETSformer 27:34 CoST 28:32 Can Transformers be Strong Treatment Effect Estimators?Deep Learning for Podcast Content Search (Summary of Interview with Alex Canan at Zencastr)Connor Shorten2022-02-04 | This video gives an overview of the latest Weaviate podcast, please subscribe to see future episodes! youtube.com/c/SeMI-and-Weaviate/videos
Thanks for watching!
Chapters 0:00 Overview 7:53 Ideas for Podcast Search 10:44 Weaviate Podcast so farAI Weekly Update - January 31st, 2022Connor Shorten2022-01-31 | Thank you so much for watching, please subscribe for more Deep Learning and Ai videos! Please check out SeMI Technologies on YouTube as well, where I am hosting a podcast on Deep Learning for Search!
Chapters 0:00 Introduction 1:28 Text and Code Embeddings by Contrastive Pre-Training 10:20 Training LMs to Follow Instructions 12:34 Reasoning Like Program Executors 14:36 Synchromesh 17:38 Artefact Retrieval 19:38 GreaseLM 21:58 Relational Memory Augmented Language Models 23:45 CodeRetriever 24:48 Out-of-Domain Semantics to the Rescue! 27:36 Natural Language Descriptions of Deep Visual Features (MILAN) 30:05 Decoupling the Role of Data, Attentino, and Losses in Multimodal Transformers 32:10 Environment Generation for Zero-Shot Compositional Reinforcement Learning 34:52 AI in Health and MedicineAI Weekly Update - January 24th, 2022Connor Shorten2022-01-24 | Thank you so much for watching, please subscribe for more Deep Learning and AI videos! Please check out SeMI Technologies on YouTube as well!
Chapters 0:00 Introduction 0:45 ak92501 on Twitter 1:05 Weaviate Sponsorship 1:38 CM3 5:08 UnifiedSKG 7:22 data2vec 10:05 PromptBERT 12:45 ZeroPrompt 14:40 CLIP-TD 16:10 Memory-Assisted prompt editing for GPT-3 18:35 LaMDA 22:02 CoAuthor 24:20 GradTail 25:43 Collapse by Conditioning 27:32 HyperTransformerDeep Learning for Search - January 15th, 2022Connor Shorten2022-01-16 | I have spent the last 3 months studying the Weaviate Vector Search Engine. I am a PhD student who has been studying Deep Learning and making videos about emerging ideas. Search really caught by attention when studying Deep Learning applications for COVID-19. I was heavily inspired by the CO-Search system from Salesforce research, as well as parallel work in NLP such as the Text-to-Text Transfer Transformer (T5) and Retrieval-Augmented Generation (RAG). I was delighted when Bob van Luijt contacted me to collaborate and have since learned so much about Deep Learning for Search. This video presents an overview of these ideas. I intend to update this as I continue making podcasts for SeMI Technologies / Weaviate. Please subscribe to SeMI on YouTube to stay up to date with these podcast! Thank you so much for watching!
Chapters 0:00 Introduction 0:38 Please Subscribe! 1:08 Architecture Overview 11:22 CO-Search 14:20 Haystack Pipelines 16:45 Retrieval-Augmented Generation 18:00 CLIPWeaviate and HaystackConnor Shorten2022-01-09 | Here are some ideas on how to combine Weaviate and Haystack! Weaviate can be used as the DocumentStore, serving as the database for Haystack retrievers to search through. I am really excited about the Neurosymbolic Search Weaviate can add to Haystack retrieval pipelines. Haystack has built a Query Classifier to route symbolic and neural queries, but I think it would be even more exciting to have a Query Annotator that adds symbolic filtering to neural search which is something offered in Weaviate and that I think could have a really interesting plug-in functionality for Haystack pipelines! Please share any thoughts or questions you have on these ideas!
Chapters 0:00 Introduction 0:34 Haystack Docs 3:17 Data Science with Weaviate and GraphQL 4:55 Haystack Query Classifier ideas 7:38 clip from Interview with Malte PietschGeneral Purpose ReadersConnor Shorten2022-01-09 | This video explains some ideas around General Purpose Reader models. The idea is to split up the tasks Deep Learning has gone after into "retrieve" and then "read" components. The retriever component offers a lot of flexibility and I am more convinced the read component will have the general adaptability promised by things like the GPT-3 API. Please share any thoughts you have on these ideas!
Chapters 0:00 Introduction 2:36 SQuAD motivating example of retrieval 4:02 CO-Search, Vector Search ImageNet moment 7:05 Haystack Pipelines 7:42 Benefits of Retrieve-then-Read 9:29 Research Ideas 13:15 Precision Medicine Applications 14:55 OpenAI API 16:10 Interview with Malte Pietsch (Haystack)Binary Passage Retrieval in Weaviate (32x Memory Savings)Connor Shorten2021-12-24 | This video presents a quick overview of Binary Passage Retrieval in Weaviate! Huge congratulations to Etienne Dilocker (CTO and Co-Founder of Weaviate) for putting this together, it was really awesome getting to watch his thought process and brainstorming around putting this together! Really excited to discuss this further on the Weaviate Podcast, please subscribe to SeMI Technologies to be informed when this is published!
Happy Holidays!Keras Code Search with WeaviateConnor Shorten2021-12-22 | This video illustrates how to upload the Keras Code Examples into the Weaviate Vector Search Engine!
Keras Code Examples: keras.io/examples Weaviate Quick Start: https://www.semi.technology/developers/weaviate/current/getting-started/
Here is another interesting paper about this kind of system - SUPP.AI: Finding Evidence for Supplement-Drug Interactions, authored by Lucy Lu Wang, Oyvind Tafjord, Arman Cohan, Sarthak Jain, Sam Skjonsberg, Carissa Schoenick, Nick Botner, Waleed Ammar from the Allen Institute of Artificial Intelligence in Seattle, Washington.
This video does not contain medical advice.Open-Source Deep LearningConnor Shorten2021-12-18 | This video presents some ideas Open-Source Deep Learning, and particularly a recent trend in creating more User Interfaces of the capabilities of Deep Learning! We are very excited about presenting demonstrations of Deep Learning Search with Weaviate! This video previews Bob and I's full length discussion about all things Vector Search, please check out the SeMI Technologies YouTube channel for the full video: youtube.com/c/SeMI-and-Weaviate
HuggingFace Spaces: huggingface.co/spacesDeep Learning in Context (Thoughts on OpenAI WebGPT and DeepMind Retro)Connor Shorten2021-12-18 | It feels like a really exciting to be following Deep Learning research! This video explains some ideas around Information Retrieval with Supervised Learning and how this can improve the abilities of Deep Learning. This video previews Bob and I's full length discussion about all things Vector Search, please check out the SeMI Technologies YouTube channel for the full video: youtube.com/c/SeMI-and-Weaviate
This video will present the Wikipedia Vector Search Demo with Weaviate. Wikipedia is a great information source to test the next generation of search systems built on Deep Learning and implemented in Weaviate This is a really great visualization of neural search because it’s very intuitive to compare this to search systems we are all familiar with such as google search.
This presentation will describe how information retrieval can enhance supervised learning tasks. Particularly, this is done with the Weaviate Question Answering Module, from the demo you will know exactly how to do this yourself. We’ll further present the generalization of these ideas to AlphaFold2, Frozen, GPT-3, more examples of how information retrieval can supplement supervised learning tasks across data domains from proteins to images and text.
As a reminder, this web demo is freely accessible across the world, so please check out the GraphQL console for yourself before or after watching this video. This demo is linked in the video description as well as a pinned comment on the video.
Chapters 0:00 Introduction 1:17 What is Wikipedia? 2:27 Wikipedia NLP Tasks 5:18 Wikipedia Dataset Statistics 7:07 How this was setup 7:55 Demo Query #1 9:24 Demo Query #2 11:20 Demo Query #3 12:08 Demo Query #4 13:26 CO-Search 15:11 Retrieve-then-Read for NLP 17:50 Retrieve-then-Read for AlphaFold2 and more 20:28 General IdeasVector Search through Wikidata with WeaviateConnor Shorten2021-12-03 | I’ve recently been working with the Weaviate team on Vector Search Engines. One of our projects that I’m the most excited about is creating Web Demos where anyone across the world can see the power of Neural Search for themselves -- for free.
I’m really to excited to share that there are 2 new web demos in Weaviate
This video will explains all sorts of things around this such as: (1) the difference between Wikidata and Wikipedia, (2) how graph embeddings are computed with Facebook AI’s PyTorch-BigGraph, (3) a visualization of the demo itself, and (4) a conclusion where I present my ideas on how I’m using graph-structured data and how I’m currently about thinking about the field of Graph Neural Networks and Knowledge Graphs.
Thank you so much for watching, I really hope you enjoy this presentation and would be more than happy to answer any questions you might have about these ideas.
Chapters 0:00 Intro 0:48 Wikidata versus Wikipedia 4:10 Word2Vec versus BERT 5:05 PyTorch-BigGraph 7:07 Wikidata Knowledge Graph 8:00 Weaviate Demo 10:07 Nearest Neighbors to “Deep Learning” 10:52 Graph Vector Search 11:08 Drug Repurposing Graphs 12:22 Citation Network Keras Example 13:53 KerasBERT and Graph Data 15:48 Thoughts on Graph Embeddings 19:55 Weaviate Web Demos!Demonstrations of Deep LearningConnor Shorten2021-11-30 | Demonstrations of Deep Learning inspire our creativity and help us understand where we’re really at with Deep Learning - such as the strengths and weaknesses of these systems. Traditionally, sharing Deep Learning systems at a large-scale required serious software engineering skills... But! There’s a very exciting trend in overcoming bottlenecks to deployment, and enabling easy sharing of Deep Learning models and applications at scale!
Chapters 0:00 Intro 0:21 HuggingFace Spaces 1:02 Dataset Sharing 1:52 PaperswithCode 2:18 MosaicML 2:40 Streamlit and Gradio 3:30 HuggingFace Spaces (again) 3:50 Contribution from Weaviate 5:10 TDS Wikipedia with Weaviate (Bob van Luijt)KerasBERT on the Weaviate PodcastConnor Shorten2021-11-26 | Look out for the podcast on SeMI YouTube: youtube.com/channel/UCJKT6kJ3IFYybWnL7jbXxhQ
KerasBERT quick intro video: youtube.com/watch?v=J3P8WLAELqk (Full Explanation coming soon)Graph Embeddings and PyTorch-BigGraphConnor Shorten2021-11-15 | This video provides an overview of Graph Embeddings and how PyTorch-BigGraph enables learning graph embeddings for very large graphs. The key challenge with this is you would need a lot of memory to store the vectors for each node in a large graph. To solve this, BigGraph uses novel partitioning, distributed execution, and negative sampling algorithms. I hope this is a decent introduction to graph embeddings and PyTorch-BigGraph, really excited about the upcoming release of the Wikidata Weaviate web demo!
Get started with Weaviate! https://www.semi.technology/developers/weaviate/current/getting-started/quick-start.html
Chapters 0:00 Introduction 2:55 What inspired your interest? 6:24 Weaviate Modules - Search + QA and more 7:40 BERT + Elasticsearch 13:42 FAISS and recent developments 17:37 Mixed Precision 18:21 Symbolic Filters and Vector Search 24:34 Approximate Nearest Neighbor Benchmarks 27:38 ANN vs. Information Retrieval 32:58 Robustness in Vector Representations 34:20 Semantic Gap between Encoded Objects 34:50 Data Domains for Vector Encodings 35:20 Not All Vector Databases are Equal 42:24 Dmitry’s overview of Weaviate 46:20 Hacker News Viral Blog Post Experience 49:00 Vector Search and MLOps emerging spaces 49:50 NGT better than HNSW? 50:53 Self-Hosted versus Managed Hosting 55:45 GraphQL in Weaviate 1:00:55 Custom Hardware for Vector Search 1:04:26 Thank you for watching!Presenting... The Weaviate Podcast!Connor Shorten2021-11-03 | This is a prelude to the Weaviate Podcast (moving to SeMI YouTube). Etienne Dilocker and I discuss the Weaviate Slack, the Weaviate console for Dataset Interfaces, HNSW, and many more slack topics such as encoding longer than 512 tokens for vector similarity search. Thank you so much for watching, please head over to the SeMI YouTube for future episodes and check out the Weaviate slack if you would like your questions answered here!
***ERRATA*** -- Apologies, forgot to add this on the screen. At 15:02, Etienne and I are talking about these graphs -- http://ann-benchmarks.com
Chapters 0:00 Preview 3:20 Opening and Weaviate Slack 5:30 Web Demo 10:25 ANN Benchmarks 19:35 HNSW 29:40 Symbolic Filters in HNSW 40:05 Effects of filtered HNSW searches on Recall and Latency 47:08 Searching with 2 Vectors 48:14 Beyond 512 Tokens 53:25 Knowledge GraphsAugMax Explained!Connor Shorten2021-10-28 | There has been a new breakthrough in using Data Augmentation in Deep Learning. Researchers from NVIDIA, Caltech, UT Austin, and Arizona State have published AugMax.
The acronym AugMax communicates the use of Data Augmentation and Maximizing the Diversity and Difficulty of Augmented Examples.
AugMax is basically free lunch in Deep Learning meaning that it is a very strong technique to add to any existing Deep Learning workflow. But more particularly, Data Augmentation has been heavily studied with Image Data in Computer Vision.
AugMax is the sequel to AugMix. This predecessor tree of research in Data Augmentation is roughly AutoAugment to RandAugment to AugMix, and now AugMax.
AugMax further utilizes Friendly Adversarial Training -- rather than using an adversarial search that augments images to be as challenging as possible, the authors utilize an Entropy proxy to better ensure that these adversarial images aren’t just static noise maps.
Further, AugMax utilizes a new normalization scheme. From StyleGAN to GauGAN, researchers at NVIDIA have made great use of these normalization layers and they didn’t disappoint in this one.
Solving Robustness and Distribution Shift wlll be huge for the trust-worthiness of Deep Learning, as well as all the applications highlighted in the WILDS benchmark -- which I highly recommend checking out if interested in Deep Learning research.
Links: Weaviate Web Demo: https://console.semi.technology/ Henry AI Labs Weaviate Query Tutorial: youtube.com/watch?v=K_2X48Tln9U You might think this is cool as well - Mathcha.io (LaTex Equation Writing Tool) - mathcha.io/editor
Chapters 0:00 Introduction 0:08 AugMax in 2 Minutes 3:22 Presentation Overview 5:20 Sponsored by Weaviate! 6:22 Data Augmentation 11:03 Overfitting and Robustness 13:08 RandAugment 14:18 AugMix 15:53 MixUp 17:08 Friendly Adversarial Training 18:58 AugMax Algorithm 21:23 Normalization - DuBIN 23:28 Vectorized Image Visualization 24:06 Experiments and Metrics 30:13 Research Context 30:55 Ideas 34:18 AugMax and WeaviateWeaviates GraphQL API for Neurosymbolic Search!Connor Shorten2021-10-22 | This video walks through some example queries to help you get started with Weaviate's GraphQL API. If you have any questions, ideas, or want advice on your personal use case, please leave it in the comments! Stay tuned for a tutorial on using a custom dataset with Weaviate!
Chapters 0:00 Overview of Chapters 5:16 Semantic Similarity 7:55 Symbolic Queries 9:45 Vector + Symbolic Search 10:23 Weaviate Modules 13:44 Demo Dataset and GraphQL 15:12 Integration Project 16:16 Research Ideas 19:18 Connect with us!Etienne Dilocker on Vector Search Engines and WeaviateConnor Shorten2021-10-11 | Vector Search Engines are powering the the next generation of search. Instead of relying on things like BM25 or TF-IDF representations, we use neural representations to compare semantic similarity. Dot products to calculate the similarity between all vectors would be very time consuming. Hierarchical Navigable Small World Graphs (HNSW) are a cutting-edge new algorithm used by Weaviate to speed up this search. This podcast explores HNSW, Neurosymbolic search and filtering, and many more!
I hope you find this interesting, happy to answer any questions left on the YouTube video!
Check out this Introduction to Weaviate: Very well organized, no headaches getting started! https://www.semi.technology/developers/weaviate/current/
Chapters 0:00 Introduction 1:30 Why Vector Search Engines? 3:02 Hierarchical Navigable Small World Graphs and Scaling 9:00 Setup Questions 12:57 What is the compute heavy part? 17:15 Neurosymbolic Databases 23:53 Weaviate for Language Models 26:17 Weaviate for HuggingFace or PapersWithCode Datasets 30:43 Weaviate Modules 33:58 Text-to-Image Vector Search 36:54 What inspired Etienne to work on this?Robust Fine-Tuning of Zero-Shot ModelsConnor Shorten2021-09-16 | Researchers from the University of Washington, Columbia University, Open AI, the Allen Institute of Artificial Intelligence, and Toyota Research have teamed up to present a new method for fine-tuning these pre-trained models such as GPT-3, BERT, DALL-E, EfficientNet, or CLIP for application specific datasets. The key insight is that as you fine-tune these models, you gain in-distribution accuracy, but sacrifice the zero-shot flexibility, or out-of-distribution generalization, of these pre-trained “foundation” models. The authors present Weight-Space Ensembling, where you take a linear interpolation between the weights of the zero-shot and fine-tuned model to make new inference. This achieves a balance between in and out of distribution accuracy. The authors connect this to Linear Mode Connectivity to explain why it works compared to random weight-space ensembles, which do not work. This is another very interesting study on the Generalization capability of Deep Neural Networks. This includes solving problems of adversarial attacks that destroy public trust in these systems, as well as the general problem of models that fail with new distributions of data. The authors collect several examples of these distribution shifts such as the WILDS dataset, adversarial injections, or style transfers, to give a few examples. The findings of this paper should be useful for anyone working with Deep Learning.
AI Weekly Update: https://ebony-scissor-725.notion.site/AI-Weekly-Update-September-15th-2021-eb65324ed2f640a5974c369ccf33af8e AI Weekly Updates: github.com/CShorten/AIWeeklyUpdates
Chapters 0:00 Overview 1:28 Weaviate / SeMI Technologies 2:26 Motivation - Foundation Models 5:03 Out-of-Distribution Test Sets 9:33 Weight-Space Ensembling 13:54 Linear Mode Connectivity 18:00 Results 26:30 Takeaways and IdeasGeneralization in Open-Domain Question AnsweringConnor Shorten2021-09-08 | AI Weekly Update Notion Page: https://ebony-scissor-725.notion.site/AI-Weekly-Update-September-8th-2021-a2119851b5b74470b4971d064665e77e New AI Weekly Update GitHub Repo: github.com/CShorten/AIWeeklyUpdates
I am looking for collaborators for two survey papers on Text-to-Image Generation and Data Augmentation Controllers. If you are interested in helping out and being a co-author of either paper, please send me a quick overview of what you think about the topic to cshorten2015@fau.edu!
Chapters: 0:00 Introduction 2:07 Generalization 4:53 Generalization for Open-Domain Question Answering 6:56 Question Decomposition 10:18 Datasets 13:05 Models Tested 15:25 Results and Takeaways 18:23 Question Pattern Frequency 23:16 Challenges in Long-Form ODQA 24:48 Compositional Generalization 26:14 Novel-Entity Generalization 27:22 WILDS 28:36 Data Augmentation Solution 31:12 Looking for Survey Writers!AI Weekly Update - August 7th, 2021 (#40)Connor Shorten2021-08-07 | Notion Link: https://ebony-scissor-725.notion.site/AI-Weekly-Update-August-7th-2021-3b21331c5c6a45e1a5638955dda7923c
Chapters: 0:00 Introduction 0:06 Open-Ended Learning 2:38 Persistent Reinforcement Learning 3:34 Domain-Matched Pre-training for Retrieval 4:22 Growing Knowledge Culturally 5:06 Language Grounding with 3D Objects 6:03 Pre-train, Prompt, and Predict 6:32 QA Dataset Explosion 7:32 ProtoTransformer 9:32 Don’t sweep your Learning Rate under the Rug 10:34 AAVAE 11:40 Domain-Agnostic Contrastive Learning 12:43 Dataset Distillation 14:04 Pointer Value Retrieval 16:01 Go Wider Instead of Deeper 16:52 Geometric Deep Learning on Molecules 18:37 Simulation Framework for Label Noise 19:59 A Tale of Two Long Tails 21:07 DALL-E Mini on HF SpacesReasoning with Language Models - Turning TablesConnor Shorten2021-07-23 | Notion Link: https://ebony-scissor-725.notion.site/Henry-AI-Labs-Weekly-Update-July-22nd-2021-0c43042b93a3459c901f7f5973b949bf
Thanks for watching! Please Subscribe!Deduplicating Training Data makes Language Models BetterConnor Shorten2021-07-22 | Notion Link: https://ebony-scissor-725.notion.site/Henry-AI-Labs-Weekly-Update-July-22nd-2021-0c43042b93a3459c901f7f5973b949bf
Thanks for watching! Please Subscribe!Using HTML for Language ModelingConnor Shorten2021-07-22 | Notion Link: https://ebony-scissor-725.notion.site/Henry-AI-Labs-Weekly-Update-July-22nd-2021-0c43042b93a3459c901f7f5973b949bf
Thanks for watching! Please Subscribe!Writing with AI - Wordcraft Text EditorConnor Shorten2021-07-22 | Notion Link: https://ebony-scissor-725.notion.site/Henry-AI-Labs-Weekly-Update-July-22nd-2021-0c43042b93a3459c901f7f5973b949bf