Podcast: Mandy Gu on Generative AI (GenAI) Implementation, User Profiles and Adoption of LLMs

MMS Founder
MMS Mandy Gu

Transcript

Introductions [00:27]

Srini Penchikala: My name is Srini Penchikala. I am the lead editor for AI, ML, and the data engineering community at the InfoQ website, and I’m also a podcast host. Thank you for tuning in today to this podcast. In today’s episode, I’ll be speaking with Mandy Gu, who is currently a senior software development manager at Wealthsimple. She leads the machine learning and data engineering initiatives at the organization.

We will discuss the topics of generative AI and the large language models, or LLMs, especially how these technologies are used in real-world projects. We’ll also talk about how different user profiles in the organizations influence the adoption of LLMs. Hi, Mandy. Thank you for joining me today. Can you introduce yourself and tell our listeners about your career and what areas you’ve been focusing on recently?

Mandy Gu: Thanks for the introduction. Excited to be here. So a little bit about myself, as Srini mentioned, I’m currently at Wealthsimple, where I’m supporting our data engineering and machine learning engineering teams. One of the things that we’ve been focused on for the past few months was building the infrastructure and internal tools to support gen AI adoption and usage throughout the company.

Implementation of AI Programs [01:36]

Srini Penchikala: Yes, thanks, Mandy. So let’s talk about that. Can you talk about your experience in establishing AI programs in organizations? What typically the challenges are: organizational, technical, and sometimes people-related. So, skill sets. Can you talk about what your experience has been and what you can share with our listeners?

Mandy Gu: Yes, so the past year and a half to two years has been this really interesting time ever since ChatGPT blew up and ever since we pushed the boundaries of accessibility and just democratizing AI access. Things have changed very rapidly in the industry, and our AI strategy has really been centered around three things.

So the first is building up a lot of the LLM foundations and platform to support future work. And then from there we find use cases within the company to apply this technology to boost employee productivity. And in doing so, we are also developing our confidence and guardrails and skill sets to bring this technology to our clients, where we can create a more delightful client experience by optimizing workflows using LLM. Most of my focus has been on the platform side and building up the reusable building blocks and then supporting the teams in accelerating AI adoption for employee productivity and also to find those use cases to optimize the client experience.

I think one fairly meta challenge in rolling out these AI programs just has been how quickly the industry has been moving. We have pretty much a new state-of-the-art foundational model every two weeks or so, and OpenAI and all of these other companies are constantly releasing new things. So it’s been a fairly intense process of just keeping up with these new changes in the industry and finding the best ways to apply it internally while dealing with a lot of different user profiles and toeing the right balance between moving quickly and ensuring that we are making the safe way the default.

Srini Penchikala: Can you talk more about those reusable building blocks? Are they common solutions that other teams across the organization can reuse or?

Mandy Gu: Yes, so on a high level we have two sets of the reusable building blocks: the first are the foundational models or access to the foundational models, and then the second is some of the components we use to facilitate other teams to build multi-stage retrieval systems. So for the foundational models, we’re hosting a mixture of both open-source models and some of the foundational models from fully managed services such as AWS Bedrock.

So the way that we kind of tie this together is we’ve adopted a lightweight serving framework, LightLLM, and we’ve used this as a proxy server in front of all of these models. And then on top of this, we’ve been able to provide programmatic access that’s integrated with the rest of our stack so that any developer or any of our other services can just seamlessly integrate and communicate with these models for whatever they need to do.

We’ve also built a custom front end to recreate the consumer-like ChatGPT and cloud desktop experience so that we’re able to ensure that our employees are using these technologies but in a safe and contained way. So that’s the first set of the reusable building blocks that we offer. And then the second is that we have a lot of the platform pieces for both facilitating orchestration to update and read from our vector database and integrating that with our various knowledge bases so that we can build internal reg tools on top of that for both employee productivity and, in some cases, this has also been leveraged for back-office workflows.

Business and Technical Use Cases [05:05]

Srini Penchikala: Sounds good. Thank you, Mandy. So for these solutions, can you talk about what are some of the business and technical use cases where the team leveraged machine learning solutions?

Mandy Gu: Most of the use cases so far have been internal, and a lot of them have been used just by various people within the business for their day-to-day tasks. We actually have fairly impressive adoption statistics; close to two-thirds of the entire company use LLMs in their day-to-day, and most of their interaction is through our LLM gateway. So this is the front end that we maintain that talks to all of these foundational models and just lets our end users pick and choose which models they want to talk to and base their chat experience there. When we look deeper into what some of these use cases are, a lot of the times it is for content generation. So people would write something and then ask the LLM to either proofread it, augment it, or to continue or to generate content based on a prompt.

We also have a lot of use cases for information retrieval, just people asking questions, and we’ve been able to integrate a lot of these models with our internal knowledge bases, and that way people have been able to leverage it to ask questions about our company documentation and various of our internal knowledge bases as well. In terms of some of the workflows that we’ve been able to optimize, the most prominent one is for our client experience agents. So we’ve built a workflow where we’re taking the Whisper model to transcribe a lot of our client calls, and in doing so we’re able to take this transcription and augment a lot of our current machine learning use cases in this space to provide classifications that we then use to triage these client calls to the appropriate teams.

Generative AI Program and LLM Gateway [06:48]

Srini Penchikala: And also you mentioned about LLMs and the models. Can you talk about the Generative AI programs implemented internally to improve operational efficiency and streamline modeling tasks? Because gen AI brings more power to the business requirements, right?

Mandy Gu: Yes, I mean the biggest program that we’ve rolled out–this is something we’ve been working on for quite a long time now–is our own LLM gateway. So the motivation of having our own LLM gateway as opposed to leveraging one of the consumer products out there is so that we can make sure that all of this interaction with the LLMs stay within our own cloud tenant and that we’re leveraging the foundational models that’s hosted as a part of our VPC. So what this LLM gateway offers is, it’s an internal web URL that all of our employees can go onto, and we have been refining this front end to resemble as closely as possible the consumer products that OpenAI and Anthropic offers, and there’s a chat interface.

And then we also provide a prompt library and tools and ways of integrating, like, just getting knowledge from several of our integrations, including with our internal knowledge bases. And the way that we’ve positioned this program is we want this to be everyone’s first touchpoint with LLMs. We discourage the use of ChatGPT and these other products internally, or at least for work-related purposes, because of some of the security risks that come with it and the need for a lot of our employees to work with sensitive information. So that’s been one of the programs that we are working on.

Srini Penchikala: That’s good. So this LLM gateway looks like it provides an entry point to different teams who could be using different large language models and maybe different vector databases, right? So is that one of the responsibilities of this LLM gateway?

Mandy Gu: Yes, that’s basically it. The motivation is really getting as much exposure to these technologies as possible, but doing so with the right guardrails in place.

Typical Gen AI application development Lifecycle [08:44]

Srini Penchikala: Okay. And also, what are some best practices in terms of the life cycle of a typical gen AI application development? We don’t want teams to go off in their own direction and sometimes either duplicate the efforts or deviate from the standards. So do you have any recommendations on what are the best practices?

Mandy Gu: I think the investment in the platform and in these reusable building blocks will ensure that we can bake in the best practices and how we want different teams to work with these technologies as a default. So for us, internally, the way that we leverage our LLM gateway and the proxy server in front of our APIs, this is how we point people to interact with the models.

And this will avoid, for instance, somebody directly interacting with the OpenAI SDK and potentially exposing our sensitive information that way. We’ve also been able to configure and choose a lot of the optimal configurations and ways of interacting with these models as well as just prompt templates, and we offer them as configurations for the end users. Those are some of the ways that we’ve been able to ensure that we’re operating from a high standard when using these technologies.

Srini Penchikala: Does the gateway also help with any–what are they called? Hallucinations or the accuracy of the responses, or is it more of just a privacy and security type of checkpoint?

Mandy Gu: The main value proposition is more from a privacy standpoint, but we do offer some ways of dealing with the risk. We file these under specific models, but they’re actually just leveraging some of the models that we provide. But for all of the models integrated with our internal knowledge base, one thing that we’ll do is actually return where it gets the information from.

So this provides a way for the end user to kind of fact-check the answer and build confidence that way. And by offering the ability to just ground the answers against context that we’ve curated and verified internally, that does allow us to ensure that the LLM is at least reading this information from the right place. Outside of that, we’ve experimented and evaluated different prompt templates, and we’ve been able to find some effective ways of just instructing the LLM to return more reliable answers, although that’s not a safe proof measure.

Srini Penchikala: So do you run all the components of the AI solutions on-prem? Because this LLM gateway, would it also work against some API in the cloud or?

Mandy Gu: When we first started, everything was models that we served completely in-house. A few months ago, or actually closer to a year ago, we adopted AWS Bedrock. And since then we’ve actually been migrating more of our models from this internal self-hosted stack onto AWS Bedrock. Bedrock does give us the ability to serve these models within our VPC. So in that aspect it’s pretty much the same thing, but we have been migrating things to Bedrock just so that it’s easier to manage.

Srini Penchikala: You mentioned that one of the best practices is to invest in a platform, right? So you mentioned AWS Bedrock. Can you talk about any other specific technology or infrastructure changes that were put in place for this gen AI application stack? What are the technologies and tools that you used?

Mandy Gu: I mean, I’ll say of the foundational models, there was quite a bit that we had to stand up for our retrieval systems. So we adopted a vector database, and then we also built a lot of integrations between that and our orchestration platform so that we could just ensure that the indexes were being kept up to date, that all of our knowledge base was being indexed on a periodic basis.

So from an infrastructure perspective, those were the two main things that we focused on. And then outside of that, we’ve been building just a lot of integrations between the various knowledge bases and different systems that this may have to talk to. One new development that’s really taking shape this year is the MCP servers, having the ability to talk to an API or an SDK through like a language server. And one thing we’ve been working on over the past few months is building up some of the infrastructure to support that.

AI Agents [12:41]

Srini Penchikala: Yes, MCP has been getting a lot of attention. Also, the trend that’s been getting a lot of attention are the AI agents. Mandy, do you have any comments on AI agents? What should they be used for, and when the teams or developers should not use that? It could be overkill or not the best solution.

Mandy Gu: That’s a good question. I think it’s very hard to say, and this is a space that’s also changing very rapidly. There’s definitely been certain spaces where AI agents have proven to be more effective than others. I think this is definitely an area that’s worth keeping an eye on because with a lot of the advancements in integrating reinforcement learning with the way that we interact with LLMs, we’ve seen some massive leaps in terms of ability and relevant generations.

So there’s been a lot of developments in this space. I think the best thing we could do is to just make sure that we’re evaluating and we have a well-defined success criterion in mind because regardless of the AI technology we’re working with, there’s always going to be use cases where it’s really good and use cases where it’s not so good. And that’s something that’s been quite in flux with gen AI.

User Profiles and Adoption of LLMs [13:48]

Srini Penchikala: Yes, so we have to wait to see how it goes. In terms of the adoption of LLMs and the AI programs. The different organizations will definitely experience different levels of maturity and commitment from the employees and the leadership. So can you talk about, I know you mentioned about this earlier, the different user profiles and how different user types can influence the usage of insight, the LLMs? And what insights you can share, our listeners will be interested in who may have some similar situations in their own projects, like how do they need to manage the users and user profiles to get the best out of LLM adoption?

Mandy Gu: So I think with all new technologies, there’s about three to four different user profiles. And certainly this has been true for LLMs and generative AI.

From my experience, LLMs have been a very divisive topic. There’s those who love it, there’s those who hate it, and there’s those who just absolutely cannot stand it, especially in a workplace setting. I mean, starting from one end of the spectrum, you have the advocates; you have the people who are really excited about these technologies.

They’re the ones who are proactively experimenting with the new foundational models, the new tools that come out. And they’ll be really proactive in just finding ways of applying these technologies, like, “Hey, maybe I can use this as a part of this work that my team does”. I mean, I think the risks of working with these people is that they may set unrealistic expectations about the benefits of LLMs or downplay the other risks, such as security or privacy, but these are the people who are going to be very engaged, who’s going to be very eager to adopt new tools and try new things.

And then on the other hand, there’s a lot of people who are detractors of generative AI. They’re very distrustful or critical of this technology, and they’re going to be very focused on the negative sides, whether it’s the ethical concerns, the security concerns, or the environmental concerns of training these models. And they’re not going to be as receptive to org-wide mandates to adopt LLMs.

I find with these people, giving them the space to address their anxieties, being very transparent about your expectations of them, I think that’s going to work well in getting them to a place where they’re still skeptical but not as much of a detractor. And I think for most of the organization, they’re really going to fall somewhere in the middle.

There’s going to be people who are very curious but may not be completely sold on this new technology. And then there’s going to be people who are more skeptical, and I think for this group, they’re going to need some faster feedback loops to see more value. And again, that transparency from leadership to address any AI anxieties.

Srini Penchikala: Definitely. Also, can you talk from your experience, any specific metrics or indicators to bring all these different users together? Like you said, some team members may want to see some metrics before they can fully embrace the AI program side, so do you have any recommendations on that?

Mandy Gu: Specifically for these users? I think it’s going to be fairly specific. If you’re a developer, the metrics that you care about are going to be very different than if you’re someone who works in operations. I think if they’re able to see the metrics that are related to their work, so maybe for a developer how much faster they’re completing tickets or minimizing the number of touch points to work with other teams, for instance, I think those are some of the metrics that they would like to see.

And then these metrics will likely be quite different for other teams as well. I actually found that… Well, one, it’s actually really hard to put together these metrics and to really show the value this way, but I’ve found with a lot of people who are a little bit more skeptical that, and this doesn’t always work, but it’s really making sure that they try the technology at least once and giving it a chance. Taking something that they do day to day and then applying it with some of these new tools, I find that’s usually a good way of showing people, like, “Hey, this actually works”, or “This may actually help with my day-to-day”.

AI Education and Training [17:35]

Srini Penchikala: It definitely will be different for each different type of user. Also, can you talk about any education or training programs you may have developed to improve the skill sets of developers who are interested in using AI right away or even to make the others aware of the value of AI solutions compared to the traditional software development solutions? Do you have any recommendations on what kind of education and training programs the other companies should consider?

Mandy Gu: Yes, so there’s a few different programs that we’re running right now just across the organization, and some of them have definitely been very successful. So we’ve been having, within different pockets of the organization, just weekly demos, and they can be something really small. This is a workflow that I’m now using an LLM to do, or maybe I’m trying a new tool, or maybe I’m trying just a new way of doing things.

And that has been a really good way of getting people to see the value of some of these new technologies. And it’s been a great source of inspiration as well, seeing where your teammates are getting value with and on the other hand, where they may be struggling. So one of the rituals is having these regular demos in place. We’ve also been able to leverage asynchronous communication via Slack and other forums quite effectively.

So again, very much focused on just sharing some of the work that’s come out, but not just the good things. Even just sharing the AI fails and the WTF moments with these new tools. I think that brings a certain human side to it. We’ve also had a lot of our leadership team, including our CTO, kind of just come in and do “ask me anything” and provide that open space for people to ask questions. And that I find has just been a really effective way in addressing a lot of the anxieties around AI because for people who are distrustful of this technology, without the necessary context, they will think the worst-case scenario, but once they actually hear about the vision, the strategy, it’s a lot easier to address those anxieties.

Lessons Learned [19:31]

Srini Penchikala: You mentioned about WTF moments, right? So can you talk about some of the lessons learned or any other insights you can share on some of the roadblocks the companies typically run into when they’re trying to embrace machine learning and AI solutions and when they’re trying to establish the programs? What kind of lessons learned you can share?

Mandy Gu: I think one thing that comes to mind is just given how fast this space moves, it’s going to be really hard to keep up with the latest and greatest technologies. And this was something we struggled with for a long time because we would be building something fairly cool or bringing a technology internally, and then two weeks later, OpenAI would release a new model or a new way of doing things, and then at that point we would ask ourselves, “Do we continue what we’re doing, or do we just pivot to the next new thing?” Oftentimes it was hard to fight back the urge of pivoting, and this created a lot of work in progress, and it created a lot of times where we were putting in a lot of effort, but we weren’t really seeing the results or delivering the value that we had hoped.

So I think the insight that shows up here is bet on the racetrack, not the horse. And in a lot of the cases, it’s better to get started with something than to spend the next three to six months trying to chase the latest thing. So I think that’s one thing that shows up. The other one is that whether or not you like it, AI is happening; people internally are going to be adopting it. The people we work with externally are also going to be adopting it. And in some organizations, in a lot of cases, this is going to be on your client’s minds as well. So every single organization, regardless of which stage they are in their AI journey, they need to think about how to deal with the inevitable AI. You can call it a revolution if you will. But this thing that’s happening, and this is kind of showing up in a lot of smaller ways too.

For instance, there’s a lot more softwares right now for job seekers. There’s a lot of AI assistants that help them with interviews or that helps them do coding assistance, and this is something that your hiring team will need to tackle to get on top of this. But also making sure that we’re still evaluating our candidates the way that we intend to as these new tools are surfacing. So I think those are two of the lessons that kind of show up. And then maybe just the third that’s kind of relevant to the intersection of development and AI is that as we’re getting really excited about all of the advancements in this space, a lot of what we need to do to be a successful R&D organization will still be relevant.

So, for instance, fostering a culture of writing clean code, that’s going to be something that helps both the traditional way of doing things, but also if you want to apply AI, like code assistance or other tools, to your code base one day, that’s also going to be what you need from a foundational point of view.

Srini Penchikala: Yes, that’s kind of the main thing, right? So a lot of the tasks that are more boilerplate code-kind of thing. So I mean, as developers, we should never have been working on those anyway. So now we can use the AI tools and agents to help us with automating those tasks so we can focus on the creative side of the software development, the design, the technology additions, and the customer interaction. So more of those things.

Thanks, Mandy. So there were a lot of interesting topics we talked about. Thank you very much for joining this podcast. It’s been great to discuss machine learning and gen AI, especially from the perspective of adoption of these technologies in real-world projects and what has worked for you and what didn’t work.

To our listeners, thank you for listening to this podcast. If you would like to learn more about AI, ML topics, check out the AI, ML, and data engineering community page on the infoq.com website. I encourage you to listen to the recent podcasts, especially the trend reports that we publish on different topics like architecture, AI/ML, culture and methods, and also the various articles we publish on all of these different topics. Thanks, everybody. Thank you, Mandy.

Mandy Gu: Thank you.

Mentioned:

  • AWS Bedrock
  • LightLLM
  • LLM Gateway
  • Whisper
  • Model Context Protocol (MCP) servers

About the Author

.
From this page you also have access to our recorded show notes. They all have clickable links that will take you directly to that part of the audio.

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Presentation: GenAI for Productivity

MMS Founder
MMS Mandy Gu

Transcript

Gu: I’m very excited to share about some of the ways we’re leveraging generative AI for productivity at Wealthsimple, and the journey that got us to this place. My talk is going to be roughly structured and broken into four sections. I’ll start by sharing some context about what we do. We’ll dive deeply into our LLM journey. I’ll talk also about the learnings that came out of it. Then I’ll end with sharing a quick snapshot overview of generative AI today.

Wealthsimple is a Canadian FinTech company. Our mission is to help Canadians achieve their version of financial independence. We do this through our unified app, where investing, saving, and spending comes together as one. At Wealthsimple, our generative AI efforts are primarily organized into three streams. The first is employee productivity. This was the original thesis of how we envision LLMs to add value, and continues to be an area of investment today. As we started building up the foundations, the tools, the guardrails for employee productivity, this also gave us the confidence to start extending the same technologies for our clients, to actually optimize operations, which becomes our second stream of focus.

In optimizing these operations, our goal is to use LLMs and generative AI to provide a more delightful experience for our clients. Third, but certainly not least, there’s the underlying LLM platform, which powers both employee productivity and optimizing operations. Through the investments in our platform, we have a few wins to share in the past 1.5 years since we’ve embarked on our LLM journey. We developed and open sourced our LLM gateway, which, internally, is used by over half the company. We developed and shipped our in-house PII redaction model. We made it really simple to self-host open source LLMs within our own cloud environment. We provided the platform support for fine-tuning and model training with hardware accelerations. We have LLMs in production optimizing operations.

LLM Journey (2023)

How do we get here? Almost two years ago, on November 30, 2022, OpenAI released ChatGPT, and that changed the way the world understood and consumed generative AI. It took what used to be a niche and hard to understand technology and made it accessible by virtually anyone. This democratization of AI led to unprecedented improvements in both innovation and productivity. We were just one of the many companies swept up in this hype and in the potential of what generative AI could do for us. The first thing that we did in 2023 was launching our LLM gateway. When ChatGPT first became popularized, the security awareness from the general public for fourth, and third-party data sharing was not as mature as it was today. There were cases where companies were inadvertently oversharing information with OpenAI, and this information was then being used to train new models that would become publicly available.

As a result, a lot of companies out there, Samsung being one of them, had to actually ban ChatGPT among employees to prevent this information from getting out. This wasn’t uncommon especially within the financial services industry. At Wealthsimple, we really did see GenAI for its potential, so we quickly got to work building a gateway that would address these concerns while also providing the freedom to explore. Our gateway, this is a screenshot of what it used to look like in the earlier days. In the first version of our gateway, all it did was maintain an audit trail. It would track what data was being sent externally, where was it being sent externally, and who sent it.

Our gateway was a tool that we made available for all employees behind a VPN, gated by Okta, and it would proxy the information from the conversation, send it to various LLM providers such as OpenAI, and track this information. Users can leverage a dropdown selection of the different models to initiate conversations. Our production systems could also interact with these models programmatically through an API endpoint from our LLM service, which also handles retry and fallback mechanisms. Another feature that we added fairly early on in our gateway was the ability to export and import conversations. Conversations can be exported to any of the other platforms we work with, and they can be imported as checkpoints to create a blended experience across different models.

After we built the gateway, we ran into another problem, which was adoption. A lot of people saw our gateway as a bootleg version of ChatGPT, and there wasn’t that much incentive to use it. One of our philosophies at Wealthsimple is, whenever it comes to new technologies or new tools, we want to make the right way the simple way, or the right way the path of least resistance. We wanted to do something similar with our gateway as well. We wanted people to actually want to use it, and we want to make it really easy for people to use it. We emphasized and amplified a series of sticks and carrots to guide them towards that direction. There was a lot of emphasis on the carrots, and we let a lot of the user feedback drive future iterations of our gateway. Some of the benefits of our gateway is that, one, it’s free to use. We pay for all of the cost. Second, we want to provide optionality. We want to provide a centralized place to interact with all of the different LLM providers.

At the beginning, it was just OpenAI and Cohere, so not much to choose from. This list also expanded as time went on. We also wanted to make it a lot easier for developers. In the early days of interacting with OpenAI, their servers were not the most reliable, so we increased reliability, availability through a series of retry and fallback mechanisms. We actually worked with OpenAI to increase our rate limits as well.

Additionally, we provided an integrated API with both our staging and production environments, so that anyone can explore the interactions between our gateway and other business processes. Alongside those carrots, we also had some very soft sticks to nudge people into the right direction. The first is what we called these nudge mechanisms. Whenever anyone visited ChatGPT or another LLM provider directly, they would get a gentle nudge on Slack saying, have you heard about our LLM gateway? You should be using that instead. Alongside that, we provided guidelines on appropriate LLM use which directed people to leverage the gateway for all work-related purposes.

Although the first iteration of our LLM gateway had a really great paper trail, it offered very little guardrails and mechanisms to actually prevent data from being shared externally. We had a vision that we were working towards, and that drove a lot of the future roadmap and the improvements for our gateway. Our vision was centered around security, reliability, and optionality. Our vision for the gateway was to make the secure path the easy path, with the appropriate guardrails to prevent sharing sensitive information with third-party LLM providers. We wanted to make it highly available, and then again, provide the options of multiple LLM providers to choose from.

In building off of those enablement philosophies, the very next thing we shipped in June of 2023 was our own PII redaction model. We leveraged Microsoft residuals framework along with an NER model we developed internally to detect and redact any potentially sensitive information prior to sending to OpenAI or any external LLM providers. Here’s a screenshot of our PII redaction model in action. I provide this dummy phone number, I would like you to give me a call at this number. This number is recognized by our PII redaction model as being potentially sensitive PII, so it actually gets redacted prior to being sent to the external provider. What was interesting is that with the PII redaction model, while we closed a gap in security, we actually introduced a different gap in the user experience. One of the feedback that we heard from a lot of people is that, one, the PII redaction model is not always accurate, so a lot of the times it interfered with the accuracy, with the relevancies of the answers provided.

Two, for them to effectively leverage LLMs into their day-to-day work, it needs to be able to accept some degree of PII, because that fundamentally was the data that they worked with. For us, and going back to our philosophy of making the right way the easy way, we started to look into self-hosting open source LLMs. The idea was that by hosting these LLMs within our own VPCs, we didn’t have to run the PII redaction model. We could encourage people to send any information to these models, because the data would stay within our cloud environments. We spent the next month building a simple framework using llama.cpp, a quantized framework for self-hosting open source LLMs. The first three models that we started self-hosting was Llama, it was Llama 2 at the time, the Mistral models, and also Whisper, which OpenAI had open sourced. I know technically, Whisper is not an LLM, it’s the voice transcription model. For simplicity, we included in the umbrella of our LLM platform.

After introducing these self-hosted LLMs, we made a fast follow by introducing retrieval augmented generation as an API, which also included a very deliberate choice of our vector database. We heard from a lot of the feedback, and we saw in both industry trends and the use cases that the most powerful use cases of LLMs involved grounding it against context that was relevant to the company. Making these in similar investments within our LLM platform, we first introduced Elasticsearch as our vector database.

We built pipelines and DAGs in Airflow, our orchestration framework, to update and index our common knowledge bases. We offered a very simple semantic search as our first RAG API. We encouraged our developers and our end users to build upon these APIs and building blocks that we provided in order to leverage LLMs grounded against our company context. What we found very interesting was that even though grounding was one of the things that a lot of our end users asked for, even though intuitively it made sense as a useful building block within our platform, the engagement and adoption was actually very low. People were not expanding our knowledge bases as we thought they would. They were not extending their APIs. There was very little exploration to be done. We realized that we probably didn’t make this easy enough. There was still a gap when it came to experimentation. There was still a gap when it came to exploration. It was hard for people to get feedback on the LLM and GenAI products that they were building.

In recognizing that, one of the next things that we invested in was what we called our data applications platform. We built an internal service. It runs on Python and Streamlit. We chose that stack because it’s easy to use and it’s something a lot of our data scientists were familiar with. Once again, we put this behind Okta, made it available behind our VPNs, and created what was essentially a platform that was very easy to build new applications and iterate on those applications. The idea was that data scientists and developers, or really anyone who was interested and willing to get a little bit technical, they were able to build their own applications, have it run on a data applications platform, and create this very fast feedback loop to share with stakeholders, get feedback.

In a lot of the cases, these proof-of-concept applications expanded into something much bigger. Within just the first two weeks of launching our data application platform, we had over seven applications running on it. Of those seven, two of them eventually made it into production where they’re adding value and optimizing operations and creating a more delightful client experience. With the introduction of our data applications platform, our LLM platform was also starting to come together. This is a very high-level diagram of what it looks like. In the first row, we have a lot of our contextual data, our knowledge bases, is being ingested through our Airflow DAGs to our embedding models, and then updated and indexed in Elasticsearch. We also chose LangChain to orchestrate our data applications, which sits very closely with both our data applications platform and our LLM service. Then we have the API for our LLM gateway through our LLM service, tightly integrated within our production environments.

As our LLM platform came together, we started also building internal tools that we thought would be very powerful for employee productivity. At the end of 2023, we built a tool we called Boosterpack, which combines a lot of the reusable building blocks that I mentioned earlier. The idea of Boosterpack is we wanted to provide a personal assistant grounded against Wealthsimple context for all of our employees. We want to run this on our cloud infrastructure with three different types of knowledge bases, the first being public knowledge bases, which was accessible to everyone at the company, with source code, help articles, and financial newsletters. The second would be a private knowledge base for each employee where they can store and query their own personal documents.

The third is a limited knowledge base that can be shared with a limited set of coworkers, delineated by role and projects. This is what we call the Wealthsimple Boosterpack. I have a short video of what it looks like. Boosterpack was one of the applications we actually built on top of our data applications platform. In this recording, I’m uploading a file, a study of the economic benefits of productivity through AI, adding this to a private knowledge base for myself. Once this knowledge base is created, I can leverage the chat functionality to ask questions about it. Alongside the question answering functionalities, we also provided a source, and this was really effective, especially when it came to documents as a part of our knowledge bases. You could actually see where the answer was sourced from, and the link would take you there, so if you wanted to do any fact checking or further reading.

LLM Journey (2024)

2023 ended with a lot of excitement. We rounded the year off by introducing our LLM gateway, introducing self-hosted models, providing a RAG API, and building a data applications platform. We ended the year off by building what we thought would be like one of our coolest internal tools ever. We were in a bit of a shock when it came to 2024. This graph, this is our Gartner’s hype cycle, which maps out the evolution of expectations and changes when it comes to emerging technologies. This is very relevant, especially for generative AI, which in 2023 for most of us, we were entering this peak of inflated expectations. We were so excited about what LLMs could do for us. We weren’t exactly sure in concrete ways where the business alignment came from, but we had the confidence, we wanted to make big bets in this space.

On the other hand, as we were entering 2024, it was sobering for us as a company and for the industry as a whole too. We realized that not all of our bets had paid off. That in some cases, we may have indexed a little bit too much into investments for generative AI, or building tools for GenAI. What this meant for us, for Wealthsimple in particular was, our strategy evolved to be a lot more deliberate. We started focusing a lot more on the business alignment and on how we can get business alignment with our generative AI applications. There was less appetite for bets. There was less appetite for, let’s see what happens if we swap this out for one of the best performing models. We became a lot more deliberate and nuanced in our strategy as a whole. In 2024, we actually spent a big chunk of time at the beginning of the year just going back to our strategy, talking to end users, and thinking really deeply about the intersection between generative AI and the values our business cared about.

The first thing we actually did as a part of our LLM journey concretely in 2024 was we unshipped something we built in 2023. When we first launched our LLM gateway, we introduced the nudge mechanisms, which were the gentle Slack reminders for anyone not using our gateway. Long story short, it wasn’t working. We found very little evidence that the nudges were affecting and changing behavior. People who are getting nudged, it was the same people getting nudged over again, and they became conditioned to ignore it. Instead, what we found was that improvements to the platform itself was a much stronger indicator for behavioral changes. We got rid of these mechanisms because they weren’t working and they were just causing noise.

Following that, in May of this year, we started expanding the LLM providers that we wanted to offer. The catalyst for this was Gemini. Around that time, Gemini had launched their 1 million token context window models, and this was later replaced by the 2-plus million ones. We were really interested to see what this could do for us and how it could circumvent a lot of our previous challenges with the context window limitations. We spent a lot of time thinking about the providers we wanted to offer, and building the foundations and building blocks to first introduce Gemini, but eventually other providers as well. A big part of 2024 has also been about keeping up with the latest trends in the industry.

In 2023, a lot of our time and energy were spent on making sure we had the best state-of-the-art model available on our platform. We realized that this was quickly a losing battle, because the state-of-the-art models were evolving. They were changing every week or every few weeks. That strategy shifted in 2024 where instead of focusing on the models themself, we took a step back and focused higher level on the trends. One of the emerging trends to come out this year was multi-modal inputs. Who knew you could have even less friction-full mediums of interacting with generative AI? Forget about text, now we can send a file or a picture. This was something that caught on really quickly within our company. We started out by leveraging Gemini’s multi-modal capabilities. We added a feature within our gateway where our end users could upload either an image or a PDF, and the LLM would be able to drive the conversation with understanding what was being sent.

Within the first few weeks of launching this, close to a third of all of our end users started leveraging a multi-modal feature at least once a week. One of the most common use cases we found was when people were running into issues with our internal tools, when they were running into program errors, or even errors working with our BI tool. As humans, if you’re a developer, and someone sends you a screenshot of their stack trace, that’s an antipattern. We would want to get the text copy of it. Where humans offered very little patience for that sort of things, LLMs embraced it. Pretty soon, we were actually seeing behavioral changes in the way people communicate, because LLM’s multi-modal inputs made it so easy to just throw a screenshot, throw a message. A lot of people were doing it fairly often. This may not necessarily be one of the good things to come out of it, but the silver lining is we did provide a very simple way for people to get the help they needed in the medium they needed.

Here is an example of an error someone encountered when working with our BI tool. This is a fairly simple error. If you asked our gateway, I keep running into this error message while refreshing MySQL dashboard, what does this mean? It actually provides a fairly detailed list of how to diagnose the problem. No, of course, you could get the same results by just copying and pasting it, but for a lot of our less technical users, it’s a little bit hard sometimes to distinguish the actual error message from the full result.

After supporting multi-modal inputs, the next thing we actually added to our platform was Bedrock. Bedrock was a very interesting addition, because this marked a shift in our build versus buy strategy. Bedrock is AWS’s managed service for interacting with foundational large language models, and it also provides the ability to deploy and fine-tune these models at scale. There was a very big overlap between everything we’ve been building internally and what Bedrock had to offer. We had actually considered Bedrock back in 2023 but said no to it, in favor of building up a lot of these capabilities ourselves. Our motivation at that time was so that we could build up the confidence, the knowhow internally, to deploy these technologies at scale. With 2024 being a very different year, this was also a good inflection point for us, as we shifted and reevaluated our build versus buy strategy.

The three points I have here on the slides are our top considerations when it comes to build versus buy. The first is that we have a baseline requirement for security and privacy. If we wanted to buy something, they need to meet that. The second is the consideration of time to market and cost. Then, third, this was something that changed a lot between 2023 and 2024, was in considering and evaluating our unique points of leverage, otherwise known as the opportunity cost of building something, as opposed to buying it. There were a lot of trends that drove the evolution of these strategies and this thinking. The first was that vendors and LLM providers, their security awareness got a lot better over time. LLM providers were offering mechanisms for zero-day data retention. They were becoming a lot more integrated with cloud providers. They had learned a lot from the risks and the pitfalls of the previous year to know that consumers cared about these things.

The second trend that we’ve seen, and this was something that affected us a lot more internally, is that as we got a better understanding of generative AI, it also meant we had a better understanding of how to apply it in ways to add value, to increase business alignment. Oftentimes, getting the most value out of our work is not by building GenAI tools that exist on the marketplace. It’s by looking deeply into what we need as a business and understanding and evaluating the intersections with generative AI there. Both of these points actually shifted our strategy to what was initially very build focus, to being a lot more buy focused. The last point I’ll mention which makes this whole thing a lot more nuanced is that, over the past year to two years, a lot more vendors, both existing and new, are offering GenAI integrations. Almost every single SaaS product has an AI add-on now, and they all cost money.

One analogy we like to use internally is, this is really similar to the streaming versus cable paradigm, where, once upon a time, getting Netflix was a very economical decision when contrasted against the cost of cable. Today, with all of the streaming services, you can easily be paying a lot more for that than what you had initially been paying for cable. We found ourselves running into a similar predicament when evaluating all of these additional GenAI offerings provided by our vendors. All that is to say is the decision for build versus buy has gotten a lot more nuanced today than it was even a year ago. We’re certainly more open to buying, but there are a lot of considerations on making sure we’re buying the right tools that add value and not just providing duplicate value.

After adopting Bedrock, we turned our attentions to the API that we offered for interacting with our LLM gateway. When we first put together our gateway, when we first shipped our gateway, when we first offered this API, we didn’t think too deeply about what the structure would look like, and this ended up being a decision that we would regret. As OpenAI’s API specs became the gold standard, we ran into a lot of headaches with integrations. We had to monkey patch and rewrite a lot of code from LangChain and other libraries and frameworks because we didn’t offer a compatible API structure. We took some time in September of this year to ship v2 of our API, which did mirror the OpenAI’s API specs. The lesson we learned here was that it’s important to think about, as this industry, as the tools and frameworks within GenAI matures, how those providers were thinking about like, what is the right standard and the right integrations?

Learnings

This brings us a lot closer to where we are today, and over the past few years, although our platform, our tools, and these landscapes have changed a lot. We’ve also had a lot of learnings along the way. Alongside these learnings, we also gain a better understanding of how people use these tools and what they use them to do. I wanted to share some statistics that we’ve gathered internally on this usage. The first is that, there is, at least within Wealthsimple, a very strong intersection between generative AI and productivity.

In the surveys and the client interviews we did, almost everyone who used LLMs found it to significantly increase or improve their productivity. This is more of a qualitative measure. We also found that LLM gateway adoption was fairly uniform across tenure and level. It’s a fairly even split between individual contributors and people leaders. This was great affirmation for us, because we had spent a lot of time in building a tool and a platform that was very much bottoms-up driven. This was good affirmation that we were offering these tools that were genuinely delightful and frictionless for our end users.

In terms of how we were leveraging LLMs internally. This data is a few months outdated, but we actually spent some time annotating a lot of the use cases. The top usage was for programming support. Almost half of all of the usage was some variation of debugging, code generation, or just general programming support. The second was content generation/augmentation, so, “Help me write something. Change the style of this message. Complete what I had written”.

Then the third category was information retrieval. A lot of this was focused around research or parsing documents. What’s interesting is that almost everything, all the use cases we saw, basically fell within these three buckets, there was very little use case outside. We also found that about 80% of our LLM usage came through our LLM gateway. This is not going to be a perfectly accurate measure, because we don’t have a comprehensive list of all of the direct LLM accesses out there, but only about 20% of our LLM traffic hit the providers directly, and most of it came through the gateway. We thought this was pretty cool. We also learned a lot of lessons in behavior. One of our biggest takeaways this year was that, as our LLM tooling became more mature, we learned that our tools are the most valuable when injected in the places we do work, and that the movement of information between platforms is a huge detractor. We wanted to create a centralized place for people to do their work.

An antipattern to this would be if they needed seven different tabs open for all of their LLM or GenAI needs. Having to visit multiple places for generative AI is a confusing experience, and we learned that even as the number of tools grew, most people stuck to using a single tool. We wrapped up 2023 thinking that Boosterpack was going to fundamentally change the way people leverage this technology. That didn’t really happen. We had some good bursts in adoption, there were some good use cases, but at the end of the day, we actually bifurcated our tools and created two different places for people to get their GenAI needs. That was detrimental for both adoption and productivity. The learning from here is that we need to be a lot more deliberate about the tools we build, and we need to put investments into centralizing a lot of these toolings. Because even though this is what people said they wanted, even though this intuitively made sense, user behavior for these tools is a tricky thing, and that will often surprise us.

GenAI Today

Taking all of these learnings, I wanted to share a little bit more about generative AI today at Wealthsimple, how we’re using it, and how we’re thinking about it going into 2025. The first is that, in spite of the pitfalls we’ve made, overall, Wealthsimple really loves LLMs. Across all the different tools we offer, over 2200 messages get sent daily. Close to a third of the entire company are weekly active users. Slightly over half of the company are monthly active users. Adoption, engagement for these tools is really great.

At the same time, the feedback that we’re hearing is that it is helping them be more productive. We also learn all the lessons, all of the foundations and the guardrails that we learned and developed for employee productivity also paves the way to providing a more delightful client experience. These internal tools establish the building blocks to build and develop GenAI at scale, and they’re giving us the confidence to find opportunities to optimize operations for our clients. By providing the freedom for anyone at the company to freely and securely explore this technology, we had a lot of organic extensions and additions that involve generative AI, a lot of which we had never thought of before. As of today, we actually do have a lot of use cases, both in development and in production, that are optimizing operations. I wanted to share one of them. This is what our client experience triaging workflow used to look like. Every single day, we get a lot of tickets, both through text and through phone calls from our clients.

A few years ago, we actually had a team dedicated to reading all of these tickets and triaging them. Which team should these tickets be sent to so that the clients can get their issue resolved? Pretty quickly, we realized this is not a very effective workflow, and the people on this team, they didn’t enjoy what they were doing. We developed a transformer-based model to help with this triage. This is what we’re calling our original client experience triaging workflow. This model would only work for emails. It would take the ticket and then map it to a topic and subtopic. This classification would determine where this ticket gets sent to. This was one of the areas which very organically extended into generative AI, because the team working on it had experimented with the tools that we offered. With our LLM platform, there were two improvements that were made.

The first is that by leveraging Whisper, we could extend triaging to all tickets, not just emails. Whisper would transcribe any phone calls into text first, and then the text would be passed into the downstream system. Generations from our self-hosted LLMs were used to enrich the classification, so we were actually able to get huge performance boosts, which translated into so many hours saved by both our client experience agents and our clients directly themselves through these improvements in performance. Going back to this hype chart, 2023 we were climbing up that peak of inflated expectations. 2024 was a little bit sobering as we made our way down. Towards the end of this year, and as we’re headed into next year, I think we’re on a very good trajectory to ascend that slope of enlightenment. Even with the ups and downs over the past two years, there’s still a lot of optimism, and there’s still a lot of excitement for what next year could hold.

Questions and Answers

Participant 1: When it comes to helping people realize that putting lots of personal information into an LLM is not necessarily a safe thing to do, how did you help ensure that people weren’t sharing those compromising data from a user education standpoint?

Gu: I think there’s two parts to this. One is that we found, over the years of introducing new tools, that good intentions are not necessarily enough. That we couldn’t just trust people. That we couldn’t just focus on education. That we actually needed the guardrails and the mechanisms within our system to guide them to ensure they make the right decision, outside of just informing them about what to do. That was one part to our philosophy. I think, to your point, definitely leveling up that understanding of the security risk was very important. Being a financial services company, we work with very sensitive information for our clients. As a part of our routine training, there’s a lot of education already about like, what is acceptable to share and what is not acceptable to share. The part that was very hard for people to wrap their heads around is what happens when this information is being shared directly with OpenAI, for instance, or in a lot of cases like fourth-party data sharing.

For instance, Slack has their AI integration. Notion has their AI integration. What does that mean? To an extent, it does mean all of this information will get sent to the providers directly. That was the part that was really hard for people to wrap their heads around. This is definitely not a problem that we’ve solved, but some of the ways that we’ve been trying to raise that awareness is through onboarding. We’ve actually added a component for all employee onboarding that includes guidelines for proper AI usage. We’ve added a lot more education for leaders and individuals in the company who may be involved in the procurement process for new vendors, and the implications that may have from a security point of view.

Participant 2: What consisted of the data platform, and how did you use that in your solution?

Gu: There’s definitely a very close intersection between our data platform and our machine learning platform. For instance, one of the bread and butters to our data platform is our orchestration framework through Airflow. That was something we use to update the embeddings within our vector database and make sure it was up to date with our knowledge bases. Outside of that, when it comes to exploration, and especially for our data scientists, as they’re building new LLM and ML products, there’s a very close intersection between the data we have available in our data warehouse and the downstream use cases. I would call those two out as the biggest intersections.

Participant 3: Early in the conversation, you talked about Elasticsearch as your vector database capability for similarity search for RAG purposes. Later, you talked about transitioning to Bedrock. Did you keep Elasticsearch, or did you get off of that when you transitioned to Bedrock?

Gu: We didn’t get off of that. Actually, we’re using OpenSearch, which is AWS’s managed version of Elasticsearch. At the time we chose OpenSearch/Elasticsearch, because it was already part of our stack. It was easy to make that choice. We didn’t go into it thinking that this would be our permanent choice. We understand this is a space that evolves a lot. Right now, Bedrock is still fairly new to us. We’re primarily using it to extend our LLM provider offerings, specifically for Anthropic models. We haven’t dug or evaluated as deeply, like their vector database or like their fine-tuning or their other capabilities. I think that’s definitely one of the things we want to dig deeper into for 2025 as we’re looking into what an evolution the next iteration of our platform would look like.

Participant 3: Are you happy with the similarity results that you’re getting with OpenSearch?

Gu: I think we are. I think studies have shown that this is usually not the most effective way of doing things from a performance and relevancy perspective, at least. Where we’re really happy with it is like, one, it’s easy to scale. Latency is really good. It’s just overall simple to use. I think depending on the use cases, like maybe using a reranker, or leveraging a different technique may be better suited, depending on the use case.

See more presentations with transcripts

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.