Logo
    Search

    Podcast Summary

    • AI-driven code optimizationAI automates code optimization, making it more accessible and efficient for developers, leading to better performance and faster development

      AI is playing an increasingly important role in code optimization, making the process more efficient and accessible to developers. Mike Basios, CTO and co-founder of Turintech AI, discussed the history and importance of code optimization, which has been a focus for researchers and companies for decades. Traditional methods for optimizing code have included using profilers to identify hotspots, but the manual process of improving performance has become more challenging as programming languages have become more high-level. Now, companies like Intel and Nvidia are leading the way in code optimization, particularly in the area of performance optimization for memory consumption, application speed, and CPU usage. AI is being used to automate the optimization process, making it more accessible to developers and enabling them to write more efficient code. Turintech AI is one such company working on AI-driven code optimization, and they have seen significant progress in this area. Overall, the integration of AI into code optimization is a game-changer, making the development process more efficient and effective.

    • AI-driven code optimization toolsAI tools automatically suggest optimizations, increasing efficiency and improving performance, making them essential for developers.

      AI is revolutionizing the process of code optimization, making it easier for developers to identify and optimize slow code automatically. Historically, code optimization was a manual process, requiring extensive knowledge and resources. With the advent of AI, tools have emerged that can automatically suggest optimizations, such as choosing the best data structures or refactoring code. These tools fit into the Continuous Integration and Continuous Delivery (CICD) process, running after unit tests and integration testing to suggest improvements for CPU and execution time. However, the underlying technology behind all developer tools is moving towards AI and large language models (LLMs). The application of LLMs can range from generating code to translating code, and the key is the data that is applied to the LLM. AI tools for code optimization offer significant advantages, including increased efficiency and improved performance, making them an essential addition to a developer's toolkit.

    • Revolutionizing Software Development with LLMsLLMs are transforming code generation and optimization, offering suggestions for code generation, translation, and optimization for multiple objectives. However, the generated code may not be perfect and requires existing tools for security checks and bug fixing.

      Code generation and optimization tools using Large Language Models (LLMs) are revolutionizing software development. These tools can predict code based on comments, translate code from one language to another, and suggest faster alternatives. They can also optimize for multiple objectives like speed, memory usage, and CPU usage. However, the code generated by these tools is not guaranteed to work perfectly and may require existing tools for security checks and bug fixing. It's important to note that these tools are still in their early stages and are primarily used for suggestions. They can be compared to rephrasing tools in the sense that they can improve the readability or flow of code, but they may not always produce perfect or beautiful code. Companies are already using these tools to gain a competitive advantage by training on their own data. So, while there are challenges to overcome, the potential benefits of using LLMs in software development are significant.

    • Meta's CodeLlama: A Reinforcement Learning Approach to Code OptimizationMeta's CodeLlama uses reinforcement learning to optimize code generation, generating multiple variations, receiving feedback, and refining the output. It comes in various sizes and outperforms other publicly available LLMs.

      Meta's CodeLlama, a new large language model (LLM) for code optimization, uses a reinforcement learning loop to improve its performance. This approach involves generating multiple variations of a code essay, receiving feedback from a teacher or performance metrics, and refining the output based on that feedback. This process continues until an optimized version is produced. The CodeLlama comes in three sizes and varieties, and Meta claims it outperforms other publicly available LLMs. The state of code generation models is constantly evolving, with open-source and closed-source options available. LLMs have shown significant potential in assisting developers by generating code more efficiently and accurately. GitHub Copilot and GPT-3 are notable examples of this technology. The ecosystem is advancing through the development of larger and more specialized models, as well as the integration of reinforcement learning and other optimization techniques. This enables models to learn and adapt to specific use cases, leading to improved performance and productivity for developers. The open-source community plays a crucial role in driving innovation and collaboration in this field, making it an exciting area to watch.

    • Large Language Models are transforming software developmentLarge Language Models like GitHub Copilot and GPT are enhancing developers' capabilities, increasing productivity, and changing the way we code. They're extending human abilities, but should be seen as tools, not replacements.

      Large Language Models (LLMs) like GitHub Copilot and GPT are revolutionizing software development by significantly enhancing the capabilities of developers. These models can help generate code, tests, and comments, and even improve productivity, especially for experienced developers. While open source models are also becoming increasingly effective, they often require more fine-tuning and easier integration with development tools. The use of LLMs is changing the way we code as humans, extending our abilities beyond what was possible before. This shift could lead to increased productivity and potentially fewer developers needed in traditional roles. However, it's important to note that these tools should be seen as extensions, not replacements, for human developers. The market is likely to adapt to these changes, with developers needing to learn how to effectively utilize these new tools to maintain a competitive edge.

    • Advanced language models transforming developer productivityAdvanced language models like Copilot and Charge GPT offer significant productivity gains for developers, leading to a shift in competition from who has them to effective utilization.

      Access to advanced language models like Copilot and Charge GPT is becoming a game-changer for developers, offering significant advantages in terms of productivity and faster results. This is leading to a world where everyone has access to these tools, and the competition is no longer about who has them, but how effectively they are utilized. The implications of this shift are far-reaching, with roles and responsibilities within teams evolving, and the potential impact on creativity and intellectual property rights still uncertain. The metaphor of managing a team of assistants, including language models, is a helpful way to understand this new dynamic. However, it's essential to acknowledge the sensitivity of applying AI within enterprise code bases, where concerns over data ownership and potential legal issues add complexity to the adoption process. Ultimately, the integration of advanced language models into developers' workflows represents a significant step forward in the democratization of technology and the way we approach problem-solving.

    • Implementing Custom Language Models for Code OptimizationCustom language models offer a solution for code optimization without sharing sensitive information, addressing privacy concerns and IP issues. Effective similarity search is crucial for optimizing code and building chatbots on existing code bases.

      As businesses continue to prioritize the protection of their proprietary code, customized language models (LLMs) offer a solution for code optimization without sharing sensitive information. This was highlighted in a discussion about implementing LLMs in a large technology firm, where privacy concerns and IP issues prevented the use of open-source models. The solution involved using a custom, on-premise LLM and allowing the client to generate their own training data for fine-tuning their model. This approach not only addressed privacy concerns but also offered benefits such as time savings through similarity search and identification of similar functions. An additional challenge that emerged during the development of this product was the need for effective similarity search to optimize code and build chatbots on existing code bases. Companies like Databricks, which have acquired MosaicML for fine-tuning their own LLMs, demonstrate the industry trend towards this approach. Unexpected challenges during the development of the code optimization product with LLMs included the need for robust similarity search and the potential complexity of integrating the technology with various code bases.

    • Implementing and managing LLMs: Challenges and complexitiesWhen using LLMs for applications, consider the challenges of speed, scalability, and potential risks such as hallucination or injection attacks. Use closed source APIs for ease of use or build in-house for data privacy and business value. Be cautious with user prompts and consider programming languages and tools to ensure safety and correctness.

      When building applications that depend on LLMs (Large Language Models), it's essential to consider the challenges and complexities that come with implementing and managing these models. For many teams, using a closed source API is a recommended first step to avoid the headache of deploying and scaling LLMs on their own. However, if data privacy is a concern or the business value lies in deploying the LLM, building it in-house may be necessary. One significant challenge is the speed and scalability issues of LLMs, which can impact application performance. Additionally, there are ongoing efforts to address other issues, such as token size, context management, and hallucination, which can require additional resources and time to mitigate. Another critical consideration is the potential for hallucination or injection attacks when using LLM output for optimization or other applications. To mitigate these risks, it's essential to be cautious when exposing prompts to end-users and consider the programming language and available tools to ensure correctness and safety. In summary, while LLMs offer exciting opportunities for optimization and innovation, it's crucial to be aware of the challenges and risks associated with implementing and managing these models. By considering the options, tools, and best practices discussed in the conversation, teams can make informed decisions and build applications that effectively leverage the power of LLMs while minimizing potential risks.

    • Functional programming languages and thorough testing for optimal codeFunctional programming languages offer more proofs for code consistency, but thorough testing with unit tests is necessary for complete coverage. NASA and other organizations prioritize this approach for minimal code changes and maximum optimization through gradual, iterative improvements.

      Functional programming languages like Haskell offer more proofs for code consistency, but applications should also have unit tests for thorough coverage. NASA and other organizations value this approach, which aims for minimal code changes with maximum optimization. This process is gradual, starting with small optimizations and gradually moving to larger ones. It's essential to validate changes, even with the help of AI tools, and follow the same review process. The misconception that optimizations require a single prompt with an instant result is not accurate. Instead, the team's approach involves multiple iterations and calls throughout the codebase. The first version of an optimization is applied, and feedback is crucial for determining its effectiveness. The top recommendations from AI language models often outperform the original code in about 60% of cases. This iterative process ensures continuous improvement, but it's not a one-time event.

    • Using multiple Language Models for continuous improvementCombining multiple LLMs can lead to better results, allowing for continuous improvement and adaptation to different contexts. However, challenges such as IP issues and staying updated on the latest models exist.

      Using multiple Language Models (LLMs) in an iterative approach can lead to better results, as each LLM can learn from the mistakes and feedback of the previous one. This method, also known as the Wolverine technique, allows for continuous improvement and adaptation to different contexts. It's essential to measure and provide feedback to the LLMs for optimal performance. Combining multiple LLMs can also provide flexibility and resilience against relying on a single model, which can become outdated or surpassed by new models. However, there are challenges such as IP issues when using output from one LLM to fine-tune another in a commercial setting. As the number of available LLMs continues to increase, using a workflow that is LLM-agnostic and able to combine and utilize multiple models can add significant value. From a developer's perspective, working with AI-driven tools means staying updated on the latest models and being able to adapt and integrate them effectively into their workflows.

    • Exploring the potential of LLMs in codingMike's company is developing tools that combine LLMs and coding to optimize and improve code efficiency. He's excited about the potential for open-source projects and automatic optimization within the developer community.

      Mike, the founder of a company developing tools that combine Language Models (LLMs) and coding, is excited about the potential of this technology to optimize and improve code efficiency. He believes that the combination of LLMs and coding is in its infancy, and there are still many limitations to be discovered and optimized. Mike is particularly excited about the potential for open-source projects, where developers can easily optimize and share improvements to make code run faster. He also expressed his curiosity about the potential for automatic optimization of inefficient code. The conversation highlighted the potential for LLMs to revolutionize the way we code and make our computers run faster. The potential for automatic optimization and the sharing of optimizations within the developer community is a significant development that Mike is looking forward to exploring further. This is an exciting time for the field of coding and technology, and Mike's company is at the forefront of this innovation.

    Recent Episodes from Practical AI: Machine Learning, Data Science

    Apple Intelligence & Advanced RAG

    Apple Intelligence & Advanced RAG
    Daniel & Chris engage in an impromptu discussion of the state of AI in the enterprise. Then they dive into the recent Apple Intelligence announcement to explore its implications. Finally, Daniel leads a deep dive into a new topic - Advanced RAG - covering everything you need to know to be practical & productive.

    The perplexities of information retrieval

    The perplexities of information retrieval
    Daniel & Chris sit down with Denis Yarats, Co-founder & CTO at Perplexity, to discuss Perplexity’s sophisticated AI-driven answer engine. Denis outlines some of the deficiencies in search engines, and how Perplexity’s approach to information retrieval improves on traditional search engine systems, with a focus on accuracy and validation of the information provided.

    Using edge models to find sensitive data

    Using edge models to find sensitive data
    We’ve all heard about breaches of privacy and leaks of private health information (PHI). For healthcare providers and those storing this data, knowing where all the sensitive data is stored is non-trivial. Ramin, from Tausight, joins us to discuss how they have deploy edge AI models to help company search through billions of records for PHI.

    Rise of the AI PC & local LLMs

    Rise of the AI PC & local LLMs
    We’ve seen a rise in interest recently and a number of major announcements related to local LLMs and AI PCs. NVIDIA, Apple, and Intel are getting into this along with models like the Phi family from Microsoft. In this episode, we dig into local AI tooling, frameworks, and optimizations to help you navigate this AI niche, and we talk about how this might impact AI adoption in the longer term.

    AI in the U.S. Congress

    AI in the U.S. Congress
    At the age of 72, U.S. Representative Don Beyer of Virginia enrolled at GMU to pursue a Master’s degree in C.S. with a concentration in Machine Learning. Rep. Beyer is Vice Chair of the bipartisan Artificial Intelligence Caucus & Vice Chair of the NDC’s AI Working Group. He is the author of the AI Foundation Model Transparency Act & a lead cosponsor of the CREATE AI Act, the Federal Artificial Intelligence Risk Management Act & the Artificial Intelligence Environmental Impacts Act. We hope you tune into this inspiring, nonpartisan conversation with Rep. Beyer about his decision to dive into the deep end of the AI pool & his leadership in bringing that expertise to Capitol Hill.

    Full-stack approach for effective AI agents

    Full-stack approach for effective AI agents
    There’s a lot of hype about AI agents right now, but developing robust agents isn’t yet a reality in general. Imbue is leading the way towards more robust agents by taking a full-stack approach; from hardware innovations through to user interface. In this episode, Josh, Imbue’s CTO, tell us more about their approach and some of what they have learned along the way.

    Private, open source chat UIs

    Private, open source chat UIs
    We recently gathered some Practical AI listeners for a live webinar with Danny from LibreChat to discuss the future of private, open source chat UIs. During the discussion we hear about the motivations behind LibreChat, why enterprise users are hosting their own chat UIs, and how Danny (and the LibreChat community) is creating amazing features (like RAG and plugins).

    Mamba & Jamba

    Mamba & Jamba
    First there was Mamba… now there is Jamba from AI21. This is a model that combines the best non-transformer goodness of Mamba with good ‘ol attention layers. This results in a highly performant and efficient model that AI21 has open sourced! We hear all about it (along with a variety of other LLM things) from AI21’s co-founder Yoav.

    Related Episodes

    When data leakage turns into a flood of trouble

    When data leakage turns into a flood of trouble
    Rajiv Shah teaches Daniel and Chris about data leakage, and its major impact upon machine learning models. It’s the kind of topic that we don’t often think about, but which can ruin our results. Raj discusses how to use activation maps and image embedding to find leakage, so that leaking information in our test set does not find its way into our training set.

    Stable Diffusion (Practical AI #193)

    Stable Diffusion (Practical AI #193)
    The new stable diffusion model is everywhere! Of course you can use this model to quickly and easily create amazing, dream-like images to post on twitter, reddit, discord, etc., but this technology is also poised to be used in very pragmatic ways across industry. In this episode, Chris and Daniel take a deep dive into all things stable diffusion. They discuss the motivations for the work, the model architecture, and the differences between this model and other related releases (e.g., DALL·E 2). (Image from stability.ai)

    AlphaFold is revolutionizing biology

    AlphaFold is revolutionizing biology
    AlphaFold is an AI system developed by DeepMind that predicts a protein’s 3D structure from its amino acid sequence. It regularly achieves accuracy competitive with experiment, and is accelerating research in nearly every field of biology. Daniel and Chris delve into protein folding, and explore the implications of this revolutionary and hugely impactful application of AI.

    Zero-shot multitask learning (Practical AI #158)

    Zero-shot multitask learning (Practical AI #158)
    In this Fully-Connected episode, Daniel and Chris ponder whether in-person AI conferences are on the verge of making a post-pandemic comeback. Then on to BigScience from Hugging Face, a year-long research workshop on large multilingual models and datasets. Specifically they dive into the T0, a series of natural language processing (NLP) AI models specifically trained for researching zero-shot multitask learning. Daniel provides a brief tour of the possible with the T0 family. They finish up with a couple of new learning resources.