Tag Archives: microsoft
How can I set up direct deposit in QuickBooks?
I need guidance on setting up direct deposit in QuickBooks. I want to streamline payroll processing for my employees. Can you provide step-by-step instructions?
I need guidance on setting up direct deposit in QuickBooks. I want to streamline payroll processing for my employees. Can you provide step-by-step instructions? Read More
Playwright in Action: From Setup to Best Practices | Azure Developers JavaScript Day 2024
Another excellent session was held during the Azure Developers JavaScript Day 2024 event! This time, the focus was on Playwright. But, what is Playwright? And, what are the best practices for using it? Let’s find out with the talk “Playwright in Action: From Setup to Best Practices”! Made by Max Schmitt, Software Engineer on the Playwright team at Microsoft and Stefan Judis, Playwright Ambassador!
Introduction
During the Azure Develoeprs JavaScript Day 2024, Max and Stefan, presented a session titled “Playwright in Action: From Setup to Best Practices”. They provided a comprehensive overview of Playwright, a browser automation library, and demonstrated how to leverage it for creating robust, end-to-end tests for modern web applications.
If you couldn’t make it to the lecture, no problem! You can check out the video below:
What is Playwright?
Playwright is an end-to-end test automation tool for web applications. It allows you to write scripts to simulate a user’s interaction with your application.
What’s more, Playwright allows you to test your application in different browsers, devices, and scenarios. This is possible because Playwright is a multi-browser tool, meaning you can test your application in different browsers such as Chrome, Firefox, Safari, and Edge.
Playwright Features
Playwright has several features that make it a powerful tool for automating web application testing. Some of Playwright’s main features are:
Cross-browser and cross-platform support: Playwright supports all modern rendering engines (Chromium, WebKit, Firefox) and runs on Windows, Linux, and macOS, locally or on CI, both headless and headed.
Language versatility: Playwright’s API can be used with Node.js, Python, .NET, and Java, allowing broad accessibility for developers.
Resilient testing: Playwright’s auto-wait and web-first assertions eliminate flaky tests by ensuring elements are ready for interaction and retrying checks until conditions are met. Tracing features help configure test retries and capture execution details.
Full test isolation and fast execution: Playwright creates a new browser context for each test, equivalent to a new browser profile, ensuring complete test isolation with minimal overhead. Authentication states can be saved and reused across tests.
Powerful tooling: Playwright includes tools like Codegen for generating tests by recording actions, Playwright inspector for exploring and debugging tests, and Trace Viewer for comprehensive test failure investigation with screencasts, DOM snapshots, and action explorers.
Playwright is also fully open-source, boasting almost 60,000 start on GitHub and 3,000 forks contributed by the community.
Getting Started with Playwright
Visual Studio Code Extension for Playwright
Max and Stefan highlighted the Visual Studio Code Extension for Playwright, which simplifies the setup process. The extension allows developers to create new projects, write, generate, raun and debug tests directly from the editor. It as almost half a million downloads, making it a popular choice among developers.
If you want to know how to use the Visual Studio Code extension for Playwright, check out the video below:
Or if you prefer, you can read the official Playwright documentation: Getting Started – Vs Code.
Installing Playwright
To get started, you can use the command Install Playwright -> Test: Install Playwright directly from the Visual Studio Code Extension for Playwright. This command sets up the project, installs Playwright and the necessary browsers, and creates essential files such as package.json, playwright.config.ts, and example test files.
Writing Your Fist Test
Max demonstrated how to write a test in Playwright. The syntax is straightforward and familiar to those who have used JavaScript testing libraries like Jest.
For example, during the session, Max presented a test that was automatically generated by the extension. It is contained in the test -> example.spec.ts folder. The test checks if the page title is “Playwright”.
import { test, expect } from ‘@playwright/test’;
test(‘has title’, async ({ page }) => {
await page.goto(‘https://playwright.dev/’);
await expect(page).toHaveTitle(‘/Playwright/’);
});
test(‘get started link’, async ({ page }) => {
await page.goto(‘https://playwright.dev/’);
await page.getBodyRole(‘link’, { name: ‘Get Started’ }).click();
await expect(page.getByRole(‘heading’, { name: ‘Installation’ })).toBeVisible();
});
What does this test do?
Navigates to the page https://playwright.dev/.
Checks if the page title is “Playwright”.
Clicks on the “Get Started” link.
Checks if the page title is “Installation”.
If all steps are successful, the test passes.
Test it for yourself! Run the above test on your Playwright project sample and see the results.
Locators in Playwright
Stefan explained the concept of locators in Playwright, which are used to identify elements on a web page. Playwright introduces ‘get by’ locators, which are more intuitive and aligned with accessibility standards. These locators are essential for writing robust tests that mimic user interactions.
Examples of Locator
const locator = page.getByRole(‘button’, { name: ‘Get started’ });
This locator identifies a button with the text ‘Get started’. Combining locators with actions (like clicks) and assertions (like visibility checks) forms the foundation of Playwright tests.
Have a look at the Playwright documentation for more information on locators.
Running and Debugging Tests
Max and Stefan demonstrated how to run tests using Playwright extension in Visual Studio Code. By enabling the “Show Browser” option, developers can see the tests running in a browser window. This visual feedback is helpful for debugging and understanding test execution.
Playwright integrates seamlessly with VS Code’s debugging tools. Developers can set breakpoints, inspect variables, and hover over locators to see the corresponding elements highlighted in the browser.
Recording Tests with Codegen
The Playwright extension offers a Record New feature, allowing developers to interact with a browser window while Playwright generates the corresponding test code. This feature simplifies the process of writing tests and ensures accurate element selection.
Advanced Features: Trace Viewer and GitHub Integration
Playwright Trace Viewer
The Trace Viewer in Playwright provides detailed insights into each test run. It shows before, during, and after snapshots of each action, complete with DOM snapshots, console logs, and network requests. This level of detail is invaluable for debugging complex issues.
There is a video available that shows how to use the Trace Viewer. You can check the video below:
GitHub Actions Integration
Max and Stefan demonstrated how to integrate Playwright tests with GitHub Actions. By setting up a GitHub workflow, tests can run automatically on each push, ensuring continuous integration and delivery. They also showed how to view Playwright reports and traces directly from GitHub Actions.
You can also get a report in HTML format, which is automatically generated by Playwright. This report contains detailed information about the test run, including failures, errors and screenshots. Just use the command:
npx playwright show-report name-of-my-extracted-playwright-report
Key Takeaways
The session “Playwright in Action: From Setup to Best Practices” provided a comprehensive overview of Playwright, a powerful tool for automating web application testing. Here are some key takeaways from the session:
Playwright is a multi-browser automation tool that supports cross-browser and cross-platform testing.
Playwright’s language versatility and powerful tooling make it accessible and efficient for developers.
Locators are essential for identifying elements on a web page and writing robust tests.
Playwright’s Visual Studio Code extension simplifies test setup, writing, and debugging.
Advanced features like Trace Viewer and GitHub Actions integration enhance test visibility and automation.
Azure Developers JavaScript Day Cloud Skills Challenge
Do you want to test your knowledge and skills in a series of learn modules and learn more about Azure services and tools? Don’t forget to participate in the Azure Developers JavaScript Day Cloud Skills Challenge. Even though the challenge is over, you can still access the content and learn more about the topics covered during the event.
Link to the challenge: JavaScript and Azure Cloud Skills Challenge
Free Course: Introduction to GitHub Actions
Free Course: Build continuous integration (CI) workflows by using GitHub Actions
Free Course: Build JavaScript applications using TypeScript
Build JavaScript applications with Node.js
Stay Tuned for More!
If you wish, you can follow what happened during the two days of the event via the playlist on YouTube. The event was full of interesting content and insights for JavaScript developers!
If you are a JavaScript/TypeScript developer, follow me on Twitter or LinkedIn Glaucia Lemos for more news about the development and technology world! Especially if you are interested in how to integrate JavaScript/TypeScript applications with the Azure Cloud, Artificial Intelligence, Web Development, and more!
And, of course, don’t forget to follow Max Schmitt and Stefan Judis on Twitter to stay up-to-date with the latest Playwright news and best practices!
And that’s it for today! I hope you enjoyed the article! If you have any questions, comments, or suggestions, please feel free to reach out to me! I would love to hear from you!
See you in the next article!
Microsoft Tech Community – Latest Blogs –Read More
Deploying Applications With Intune
Introduction
In this blog post, I would like to introduce you to packaging and patching your applications.
You might have tried to manually package applications into Microsoft Intune before and also made sure to update an application. It takes a lot of time to prepare and test an application before deploying it.
Microsoft has luckily come to the rescue and introduced Enterprise App Management! Let’s take a closer look at it in this blog and see how it works.
Security for Beginners course
Would you like to expand your knowledge in the security world? I might have found the course for you.
It’s designed to help you get started with the fundamentals behind security. Take a look at the course right here.
Enterprise App Management
The Enterprise App Catalog is a new app type for Windows devices in Intune. The catalog contains applications based on the Win32 app type that you might have used before for application deployment.
The catalog contains at this time, 100 prepackaged applications, this number is expanding over time. Some of the apps in the catalog are self-updating, which means that the application will automatically update when the vendor releases a new version. It’s not all applications in the catalog that are self-updating.
The applications that are self-updating have the below message displayed in Intune.
Licensing for Enterprise App Management
If you are thinking about utilizing the Enterprise App Management feature in Intune, you have to be aware of which license you have to use. There are two options available for you.
Standalone add-on
There is an option to buy the Enterprise App Management feature as a standalone add-on if you don’t want to use the other features in Intune Suite.
Intune Suite
If you would like to utilize more than the Enterprise App Management feature, you can take a look at the Intune Suite license. It includes features such as endpoint privilege management, advanced analytics, and more!
If you are more curious about the options, I would highly recommend you take a look right here.
Configuration
Once you have acquired the license for Enterprise App Management, is it time to take a look at the exciting part – configuration!
Head into our (at least my) favorite portal of them all, the Intune portal.
Click on apps, and last but not least, all apps.
3. Once you are in the apps section, click Add. In the app type section, scroll down to the Enterprise App Catalog app. Make sure to click select, once you have clicked on the Enterprise App Catalog app.
4. As you can see now, we are in the machinery. This is where we can start configuring. Select an app from the catalog, in my case, I will pick 7-Zip.
5. I will click next and pick the configuration of the app. Once that’s done, remember to click select.
The options available for configuration can be different from app to app.
Have you tried to deploy apps from Intune before? Remember all the fields that you have to fill out, before the application can be deployed?
Microsoft makes sure to pre-populate a lot of the information in the Enterprise App Catalog.
This includes the app and program information, as well as the requirements and detection rules for the application.
If you are satisfied with the pre-populated information from Microsoft, you can simply press next through the tabs and deploy the application.
Be aware that you can’t make the assignments before the application has been created, so this has to be done afterwards.
Conclusion
Thank you for reading through this blog. I hope it gave you some insights on how Enterprise App Management works. In my opinion it makes the deployment of the applications more easier and faster.
Microsoft Learn references
Take a look below for official documentation for Enterprise App Management.
Microsoft Intune Enterprise Application Management
Do you want to get started with application management in Intune? Take a look at the training below.
Understand app management using Microsoft Intune
Microsoft Tech Community – Latest Blogs –Read More
Copilot Studio Integration Error in Microsoft Teams
I am experiencing an issue with the integration of Copilot Studio in Microsoft Teams. The integration is functioning correctly in one team, but it is showing an error in another team within the same organization.
Here are the details of the error message:
Error Code: MissingOrInvalidRequiredProperty
Conversation ID: a:1R3VSGekaOaxXFtuOs_|8SNppmg7aQp8LKOni6p15qLAyN9yt7mP8_pjap90114X7BCM_KKupvRIFLn6kjjKpoVUpbU2YCmjw2d0JLD5gy61FYRXyuyn6KUnyjZeCmBL
Timestamp (UTC): 2024-05-23T15:18:34.456Z
Steps to reproduce the issue:
Integrate Copilot Studio in one team on Microsoft Teams.
Attempt to integrate Copilot Studio in another team within the same organization.
The integration works for the first team but fails for the second team with the above error.
Please assist in resolving this issue as soon as possible, as it is impacting our workflow. If you need any additional information or access to specific logs, please let me know.
I am experiencing an issue with the integration of Copilot Studio in Microsoft Teams. The integration is functioning correctly in one team, but it is showing an error in another team within the same organization.Here are the details of the error message: Error Code: MissingOrInvalidRequiredPropertyConversation ID: a:1R3VSGekaOaxXFtuOs_|8SNppmg7aQp8LKOni6p15qLAyN9yt7mP8_pjap90114X7BCM_KKupvRIFLn6kjjKpoVUpbU2YCmjw2d0JLD5gy61FYRXyuyn6KUnyjZeCmBLTimestamp (UTC): 2024-05-23T15:18:34.456ZSteps to reproduce the issue:Integrate Copilot Studio in one team on Microsoft Teams.Attempt to integrate Copilot Studio in another team within the same organization.The integration works for the first team but fails for the second team with the above error.Please assist in resolving this issue as soon as possible, as it is impacting our workflow. If you need any additional information or access to specific logs, please let me know. Read More
What Should I Do if QuickBooks stuck in single user mode After latest update?
I’ve been using QuickBooks for my business, and it’s currently stuck in single user mode. This is preventing other team members from accessing the system simultaneously. How can I resolve this issue so that we can switch to multi-user mode and everyone can use QuickBooks concurrently?
I’ve been using QuickBooks for my business, and it’s currently stuck in single user mode. This is preventing other team members from accessing the system simultaneously. How can I resolve this issue so that we can switch to multi-user mode and everyone can use QuickBooks concurrently? Read More
How to migrate database on Azure Sql Managed Instance to Azure Sql Database
I have a database on Azure Sql Managed Instance and want to migrate it to Azure Sql Database. Every tool/process I’ve found supports the source to be Sql Server, but not Azure Sql Managed Instance.
I may have missed something, but can someone tell me the best way or tool to do this?
I have a database on Azure Sql Managed Instance and want to migrate it to Azure Sql Database. Every tool/process I’ve found supports the source to be Sql Server, but not Azure Sql Managed Instance.I may have missed something, but can someone tell me the best way or tool to do this? Read More
Microsoft edge sidebar’s Copilot not working
Copilot in Microsoft edge keeps failing to load and says “Sorry, unable to connect to service at this time”, but https://www.bing.com/chat?q=Microsoft+Copilot&FORM=hpcodx#/ works fine with copilot.
Copilot in Microsoft edge keeps failing to load and says “Sorry, unable to connect to service at this time”, but https://www.bing.com/chat?q=Microsoft+Copilot&FORM=hpcodx#/ works fine with copilot. Read More
How to Fix bank error 179 in QuickBooks After new update?
I keep encountering bank error 179 in QuickBooks, which prevents me from accessing my bank’s online services. How can I resolve this issue? What steps should I take to troubleshoot and fix it?
I keep encountering bank error 179 in QuickBooks, which prevents me from accessing my bank’s online services. How can I resolve this issue? What steps should I take to troubleshoot and fix it? Read More
Gmail Sender not receive Out Of Office message
Hello,
I tested Out Of Office message two different organizaton. One of them use O365 Exchange Online the other one use On-Prem Exchange 2019 with the latest patch level.
OOF messages works except the sender come from gmail domain.
The ExO org use spf dmarc and dkim records, the on-prem org use spf and dmarc only.
Can anybody explain to how can i solve this issue?
Hello,I tested Out Of Office message two different organizaton. One of them use O365 Exchange Online the other one use On-Prem Exchange 2019 with the latest patch level.OOF messages works except the sender come from gmail domain.The ExO org use spf dmarc and dkim records, the on-prem org use spf and dmarc only.Can anybody explain to how can i solve this issue? Read More
The difference E32-16ads_v5 and E32ads_v5
Hello!
Can you tell me please what is the exact difference between E32-16ads_v5 and E32ads_v5?
As far as I see in the documentation the machines E32-16ads_v5 are basing on original size E32ads_v5 but has cut CPU’s by half
https://learn.microsoft.com/en-us/azure/virtual-machines/constrained-vcpu?tabs=family-E
What is the advance of choosing machine with half of processors instead of full? Is there any advantage of this option?
Looking at the prices machines are on the same base price level 1432,25 €
Hello! Can you tell me please what is the exact difference between E32-16ads_v5 and E32ads_v5?As far as I see in the documentation the machines E32-16ads_v5 are basing on original size E32ads_v5 but has cut CPU’s by half https://learn.microsoft.com/en-us/azure/virtual-machines/constrained-vcpu?tabs=family-EWhat is the advance of choosing machine with half of processors instead of full? Is there any advantage of this option?Looking at the prices machines are on the same base price level 1432,25 € Read More
Not able to grant the access to SharePoint List
Hi
I am trying to Approve a user under the ‘Access Requests’ as shown below but for some reason it says ‘Request approval failed’
Can someone help me how to troubleshoot it. I am added as site owner with full control.
Hi I am trying to Approve a user under the ‘Access Requests’ as shown below but for some reason it says ‘Request approval failed’Can someone help me how to troubleshoot it. I am added as site owner with full control. Read More
Copilot Word Suggestion
We are having an odd issue where we have a user who has written some content and when we are reviewing the changes it is showing that “Microsoft Word” was the author of a particular section of content.
Would this suggest that this was done with Copilot making this addition?
We are having an odd issue where we have a user who has written some content and when we are reviewing the changes it is showing that “Microsoft Word” was the author of a particular section of content. Would this suggest that this was done with Copilot making this addition? Read More
How to combine multiple MP3 files into one on Windows 10 PC?
I have dozens of mp3 files with 3-5 minutes long. I need to combines multiple mp3 files into one so the music will be playing much longer with disruption. Does anyone know a good mp3 combiner software that works for this purpose?
I am currently using a Windows 10 laptop and hope it could be easily to combine mp3 files on my computers.
I have dozens of mp3 files with 3-5 minutes long. I need to combines multiple mp3 files into one so the music will be playing much longer with disruption. Does anyone know a good mp3 combiner software that works for this purpose? I am currently using a Windows 10 laptop and hope it could be easily to combine mp3 files on my computers. Read More
Azure DevOps Linux Agents Azure Powershell Task taking longer time to login and log out
Dear All,
I’ve azure power shell script which copied the files from staging directory to ADLS location. I’m using Azure Power shell task in devops pipeline to do the work, when I’ve run the pipeline which is taking 13 minutes overall for completing the task. AZ context process taking 11 minutes and actual copy is faster.
Agent pools are Linux red-hat server.
login using Service Principle as authentication to azure services.
Can any please help out what causing the issue.
Regards,
Shekhar.
Dear All,I’ve azure power shell script which copied the files from staging directory to ADLS location. I’m using Azure Power shell task in devops pipeline to do the work, when I’ve run the pipeline which is taking 13 minutes overall for completing the task. AZ context process taking 11 minutes and actual copy is faster. Agent pools are Linux red-hat server.login using Service Principle as authentication to azure services.Can any please help out what causing the issue. Regards,Shekhar. Read More
Windows 11 version 26100.712
Hi,
Upgrade to build 26100.712 but now Task Manager has this issue if I use Dark Mode (before the update there was no issue)
I have even booted into Safe Mode assuming it was a display driver issue, same results. In light mode the graphs show correctly
Hi, Upgrade to build 26100.712 but now Task Manager has this issue if I use Dark Mode (before the update there was no issue) I have even booted into Safe Mode assuming it was a display driver issue, same results. In light mode the graphs show correctly Read More
What’s the best color picker software for windows 11?
I’m working on a project that requires accurately capturing the RGB values of colors from various applications and websites. I would ideally want a color picker that offers features like color history, the ability to save favorite colors, and various color formats (e.g., HEX, RGB). I appreciate advice based on personal experience, thank you in advanced!
I’m working on a project that requires accurately capturing the RGB values of colors from various applications and websites. I would ideally want a color picker that offers features like color history, the ability to save favorite colors, and various color formats (e.g., HEX, RGB). I appreciate advice based on personal experience, thank you in advanced! Read More
Measuring benefits of implementing Copilot
Hello, how could I measure the benefit Copilot brings to our organisation? We have a small pilot group that use Copilot for 365 in our organisation but have faced difficulty so far being able to accurately measure the benefit it brings these people.
What are you doing for your organisation to quantify/justify the cost of Copilot vs the value it brings to employees?
Thanks!
Hello, how could I measure the benefit Copilot brings to our organisation? We have a small pilot group that use Copilot for 365 in our organisation but have faced difficulty so far being able to accurately measure the benefit it brings these people. What are you doing for your organisation to quantify/justify the cost of Copilot vs the value it brings to employees? Thanks! Read More
What runs GPT-4o and Microsoft Copilot? | Largest AI supercomputer in the cloud | Mark Russinovich
Microsoft has built the world’s largest cloud-based AI supercomputer that is already exponentially bigger than it was just 6 months ago, paving the way for a future with agentic systems.
For example, its AI infrastructure is capable of training and inferencing the most sophisticated large language models at massive scale on Azure. In parallel, Microsoft is also developing some of the most compact small language models with Phi-3, capable of running offline on your mobile phone.
Watch Azure CTO and Microsoft Technical Fellow Mark Russinovich demonstrate this hands-on and go into the mechanics of how Microsoft is able to squeeze as much performance from its AI infrastructure as possible to run AI workloads of any size efficiently on a global scale.
This includes a look at: how it designs its AI systems to take a modular and vendor agnostic approach to running the latest GPU innovations from different chip vendors; the industry leading work to develop a common GPU interoperability layer, and its work to develop its own state-of-the-art AI-optimized hardware and software architecture to run its own commercial services like Microsoft Copilot and more.
Portable and powerful for IoT and mobile devices, get top-tier AI capabilities with fewer parameters. Click to watch.
Scale large language models with optimized GPU designs.
Ensure faster data transfer and superior performance. Check out the AI supercomputer updates.
Fine-tuning without the cost of dedicated infrastructure.
See how one base LLM on the same server cluster can be customized and shared concurrently by hundreds of tenants using Multi-LoRA. Watch here.
Watch our video here:
QUICK LINKS:
00:00 — AI Supercomputer
01:51 — Azure optimized for inference
02:41 — Small Language Models (SLMs)
03:31 — Phi-3 family of SLMs
05:03 — How to choose between SLM & LLM
06:04 — Large Language Models (LLMs)
07:47 — Our work with Maia
08:52 — Liquid cooled system for AI workloads
09:48 — Sustainability commitments
10:15 — Move between GPUs without rewriting code or building custom kernels
11:22 — Run the same underlying models and code on Maia silicon
12:30 — Swap LLMs or specialized models with others.
13:38 — Fine-tune an LLM
14:15 — Wrap up
Unfamiliar with Microsoft Mechanics?
As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft.
Subscribe to our YouTube: https://www.youtube.com/c/MicrosoftMechanicsSeries
Talk with other IT Pros, join us on the Microsoft Tech Community: https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog
Watch or listen from anywhere, subscribe to our podcast: https://microsoftmechanics.libsyn.com/podcast
Keep getting this insider knowledge, join us on social:
Follow us on Twitter: https://twitter.com/MSFTMechanics
Share knowledge on LinkedIn: https://www.linkedin.com/company/microsoft-mechanics/
Enjoy us on Instagram: https://www.instagram.com/msftmechanics/
Loosen up with us on TikTok: https://www.tiktok.com/@msftmechanics
Video Transcript:
-Microsoft has built the world’s largest AI supercomputer that’s already exponentially bigger than it was just six months ago, capable of training and inferencing the most sophisticated large language models at scale on Azure, including things like Microsoft Copilot and ChatGPT. And based on training innovations for Microsoft Research, we’ve also built some of the world’s most compact small language models with Phi-3 that can run locally and offline even on a mobile phone. And today we’re joined by Microsoft Technical Fellow and Azure CTO, Mark Russinovich, who’s going to help us demonstrate and unpack what makes all of this possible. So welcome back to the show.
– It’s good to be back, thanks for having me.
– And thanks for joining us again. You know, since last time you were on, about a year ago in May, we went into the mechanics of our AI supercomputer built in 2020 for OpenAI to be able to train and run GPT-3 at the time. Now that system had actually comprised of 10,000 networked Nvidia V100 GPUs. And it’s not an exaggeration to say that a lot has changed since then.
– Yeah, actually that size, that system pales in comparison to the one we built in November 2023 to train OpenAI’s next generation of large models. That one was independently ranked by TOP500 as the number three supercomputer in the world and the largest cloud-based supercomputer. We secured that place with 14,400 Nvidia H100 GPUs and 561 petaflops of compute, which at the time represented just a fraction of the ultimate scale of that supercomputer. Our AI system is now orders of magnitude bigger and changing every day and every hour. Today, just six months later, we’re deploying the equivalent of five of those supercomputers every single month. Our high speed and InfiniBand cabling that connects our GPUs would be long enough to wrap around the earth at least five times.
– And to me, that just kind of sounds like a cable management nightmare.
– Well, nothing like the cable management nightmare under my desk. The point here is that not only can we accelerate model training for OpenAI and our own services, but where this makes a huge difference is with inference to run these models as part of your apps. And inference is where we see the most growth in demand. In fact, we’ve optimized Azure for inference. We run our own commercial services like Microsoft Copilot, which is used by 60% of the Fortune 500, along with copilot experiences in Azure and GitHub, all at massive scale and high performance. And with our model as a service option in Azure, you can use our infrastructure to access and run the most sophisticated AI models such as GPT-3.5 Turbo, GPT-4, Meta’s Llama, Mistral, and many more.
– This makes a lot of sense because most organizations are probably going to be using existing models with their own apps versus building out and training their own large language models. So it’s really great to see the diversity of large language models that we have now. At the same time though, there’s this world of smaller small language models which some people see really as the future of generative AI. So how are we looking at that area?
– Well, this has been a focus of ours to try to get models to be as efficient as possible and we now have achieved getting a small model to be the equivalent in reasoning capability as ones five to 10 times its size. We recently announced the Phi-3 family of small language models or SLMs based on the work of Microsoft Research. Those have fewer parameters because they’re trained on filtered web content, high quality data and synthetic data. Depending on the scenario, these SLMs have similar capabilities to those found in large language models and require less compute. They can use the ONNX Runtime for inference, which makes them portable and they can even run in your device’s local NPU. And they’re a great option when you have limited to no connectivity like with IoT devices or on a mobile device. In fact, I’ve got phi-3 Mini running right here on this iPhone.
– Wow.
– I’ll start by putting it in airplane mode and I’ll make sure WiFi is also disabled, so it’s running offline and there’s no data being sent to the cloud. Now I’ll open my app and when I move into its settings, you can see that the model is Phi-3 Mini-4K and it’s a standard Hugging Face format. I can also see some of the other settings for prompt format and prediction options, I’ll close those out. Now I’ll paste my prompt to give me a chocolate chip cookie recipe with lots of sarcasm in the tone, which should be humorous. And now you can see that it’s starting out pretty good, chocolate chip concoction. It’s listing out the ingredients with jokes that only a professional greeting card writer would love. And this is impressive because it’s done reasoning to merge baking instructions with sarcasm and it’s also running pretty fast on this phone and those look like legitimate baking temperatures. Then there are proper instructions for mixing everything and baking. And at the end it seems to know that I’m actually not going to bake them. The real test would be trying it out but I’m not a baker in my spare time, I actually prefer to draw.
– Yeah, I’ve seen that, I actually was a big fan of your Grogu sketch during the pandemic.
– Yeah, that was a really popular one. It kind of goes with the theme here, small packages having lots of power. And by the way, these SLMs still contain billions of parameters ranging from 3.8 billion for the Phi-3 Mini model to 14 billion for Phi-3 Medium, but they’re still significantly smaller than a large language model like Meta’s Llama 3, which is up to 70 billion parameters, and GPT-3, which has even more, with 175 billion.
– And those just keep getting a lot bigger. So how do you make sure that you make the right choice then between the different small language models and maybe using a larger language model?
– Well, like we just said, a small language model won’t have the same amount of inherent knowledge contained within it. For example, GPT-4 knows the detailed history of ancient Babylon, it knows chemistry, it knows philosophy. It’s been trained on significantly more information and can understand more nuanced language patterns to generate more contextually accurate responses. Small language models just simply can’t get to that kind of knowledge. And so the choice will be task-specific based on the level of sophistication and reasoning you need, the amount of knowledge you need the model to inherently have in it. For example, for general chat, you want it to know about all those things and it’ll also be resource and latency-specific. Like if you need to run it on a phone, it can’t be a very large language model.
– Right, so the SLMs then have a lot more specificity in terms of what they’re bringing to the table. They’ve got a different level of quality and efficiency as well. It’s going to be interesting, I think, to see their impact then on AI PCs with more scope degenerative AI experiences. But why don’t we move back to large language models because to use sophisticated reasoning that they do provide, how do you even begin to use them efficiently and at scale?
– Well, this is where our experience in developing these systems over the last few years really pays off. A single server can cost several hundred thousand dollars like the price of a house basically. So we want to make sure that we aren’t wasting resources. As I mentioned, Microsoft runs inference at massive scale. There are aspects of inferencing that benefit more from high bandwidth memory versus pure compute power, and that helps with faster data transfer, better performance, and more efficient data access. And we’ve been working with our hardware partners to evolve their GPU design. For example, we partnered closely with AMD as they designed their MI300X GPU. That’s optimized for AI with 192 gigabytes of high bandwidth memory. And we were the first cloud provider to offer VMs with MI300X GPUs. But in parallel, we worked with Nvidia on their GPU design for high bandwidth memory. Their H200 chips will have 141 gigabytes based on our work with OpenAI. And their Blackwell architecture, which is coming after that, will increase that up to 384 gigabytes.
– And that’s really a lot because just to put that into perspective, given that we just saw high bandwidth memory being 80 gigabytes just a year ago, and at the time, that was more than respectable.
– Well, yeah, the speed of innovation we’re seeing in AI hardware is like nothing we’ve seen before, it’s a really unique moment in time. The newer NVIDIA Quantum and InfiniBand switches can connect network GPUs at 800 gigabits per second, so the port speeds have already doubled compared to when we talked last year. And to take advantage of the best cost performance, our systems support a modular approach to deploy whichever GPU demand calls for. We can already use AMD and NVIDIA GPUs on the same InfiniBand network.
– So we’ve heard you refer to this as the AI system, which refers to the specialized hardware and software stack behind our AI supercomputer. So beyond those individual hardware components, what are some of the things that we’re doing at the AI system level?
– Well, so there’s the stack we built with AMD and Nvidia but then there’s our own silicon innovation. We’ve taken a step back to think about the ideal hardware and software architecture and what we’d build if we had no preexisting dependencies or constraints. And that’s where the work on Maia comes in. Maia represents our next generation hardware and software reference architecture designed for one purpose alone, to run large scale AI workloads like Microsoft Copilot more efficiently. Maia vertically integrates what we’ve learned across every layer of the stack; from the silicon with our Maia 100 AI accelerator, the Maia kernel library and API that lets us squeeze as much performance as possible from the infrastructure while running AI workloads to the custom backend network and that is deeply integrated into the chip. Maia uses an ethernet based network protocol as opposed to InfiniBand for high speed transfer to connect with other Maia accelerators on the network.
– So this work also then impact our data center design for physical components?
– It actually does, this is brand new technology we’re landing in our data centers. One of the areas of data center design that we’re evolving is cooling. For example, when you’re running GPU clusters at this level, they produce a tremendous amount of heat. Not only do you have to cool the data center environment itself to keep ambient temperatures as low as possible, but GPUs like NVIDIA’s H100 use air cooling so you need a lot of fans to keep the GPUs operating within their target ranges. That also means more power consumptions. So we’ve instead taken the approach to design the Maia system with liquid cooling for more efficient heat transfer. Maia’s our first liquid cooled system for AI workloads. We’ve also built a dedicated liquid cooling tower as a sidekick to the Maia server. Those match the thermo profile of the Maia chip. This is a rack level, closed loop liquid cooling system for higher efficiency and we expect to see liquid cooling incorporated into the GP designs of our hardware partners coming up in the near future.
– Right, but this does beg the question though, as we build these bigger and more powerful systems, how’s this going to impact our sustainability commitments?
– Well, as we design these, we’re still committed to meeting our goals including being carbon neutral by 2030. Our Maia architecture, for example, has been developed to meet our zero waste commitment and by design we’re optimizing for running Maia servers within our existing data center footprints.
– Right, just to be clear here, you know Maia is being used for Microsoft services initially but is it possible then to have maybe the software stack and resource manager that abstracts the silicon models for people to be able to pick the workload and kind of the compute they need without changing any code?
– Exactly, that’s exactly what we’re working on is to make it so that code can run across different GPU architectures without you having to change your code each time. Let me break down how this works. At the top of the stack, you’ve got your models and application you need to run. Under that are your AI frameworks like PyTorch or the ONNX Runtime. Those will often communicate directly to a GPU or accelerator kernel library and SDK. And this is where each manufacturer has their own. Nvidia has CUDA, AMD has ROCm, and we’re using the Maia API and these interact with the GPUs directly. Now typically, you’ll need deep knowledge of the underlying GP architecture for each GPU to write custom kernels for your app to be portable. So to solve for this, we partner with OpenAI to build a Python based interoperability layer called Triton to work across Nvidia, AMD and Maia silicon. Triton will make it possible to move between different GPUs without the need to rewrite your code or to build custom kernels.
– So do we have a running example then where maybe we’ve built something for one set of GPUs where we want to bring it to another stack?
– Well, so as a proof of concept, we’ve taken the model underneath GitHub Copilot and ported it to the Maia accelerator. Let me show you that running. I’ve got my desktop set up with three windows, on the left is Visual Studio Code to interact with Copilot. On the top right is network traffic from our Maia machine. On the bottom right is our command line to look at the accelerator topology and you can see there are four devices running with inferencing. I will start on the code and write a comment to create a Python dictionary of six countries and their capitals. And just based on that code comment, GitHub Copilot goes ahead and writes the code using the model on Maia. You can see the network traffic spiked on the right as the orchestrator sent that traffic to the model and returned our code. Now I’ll clear that example and start a second one. This time I’ll say, write bubble sort in Python. You’ll see that the network spike lasts a bit longer because it wrote more code this time. So it’s possible to run the same underlying models and code on Maia silicon and there’s no noticeable trade off on speed and accuracy. And once we have Triton running, you’ll be able to just run your code on different GPUs without porting the model.
– So is it possible then to also swap out the underlying large language models to more specialized ones in Azure?
– Yeah, that’s actually something we’ve had for a while in Azure AI services where you can deploy the models you want first and then switch between them. And once you have a few running, you can either select the model you want for your app in the Playground or the same works in code. It’s just a matter of changing the endpoint to the model you want to run.
– Great, so this means it’s really easy then, effectively, to spin up the model that you want. And something else that we’ve had in Azure AI Studio is model as a service for pay as you go inference and fine tuning models with your own data. So are we having to spin up then different models and different compute every time somebody fine tunes their model? That seems expensive.
– Yeah, well spinning up your own model instance and infrastructure would be too expensive. Last time I introduced the concept of Low Rank Adaptive fine tuning or LoRA, where you can add new skills by fine tuning a small set of parameters instead of retraining the entire model with a targeted dataset. So you’re only adding just 100 megabytes of data to a base model that’s several hundred gigabytes in size, for example.
– Right, we kind of compared it to Neo on “The Matrix” learning a new skill like kung fu.
– Right, so now imagine experts being able to teach Neo multiple new skills simultaneously. For fine tuning LLM, we can achieve this using a multi-serve model instance. With an approach called Multi-LoRA, where we can share one base LLM on the same server cluster, we can let different customers fine tune the base model specific to their needs and have it be isolated and used only by them. We’re able to attach hundreds or thousands of fine tuned models as adapters that run simultaneously and isolated from each other on the base model. This gives you a secure way to fine tune an LLM with additional skills without having to spin up your own compute intensive infrastructure, which is a massive cost savings.
– Right, so now we’ve covered all the major updates since the last time you were on the show, now if we were to look at one or two years from now, given how available AI is now becoming, what do you think the future looks like?
– Well, I think two things we’re seeing happen is agentic systems are going to evolve where you’ve got a high reasoning LLM kind of as the core brain talking to lots of other LLMs and SLMs that are task specific, including multimodal models each performing their own tasks as a part of a larger workflow. The other thing you’re going to see is Azure just continue to always offer the best, latest and greatest frontier models, as well as small models, as well as open models and closed models on infrastructure that is continuously improving in efficiency.
– Really great to hear the vision from the man himself, Mark Russinovich. Always great to have you on the show. Hopefully, next time you’re on a year from now or so, we’ll even have more momentum to share with everyone watching. So until then, keep watching Microsoft Mechanics for all latest AI updates. Thanks for watching and we’ll see you soon.
Microsoft Tech Community – Latest Blogs –Read More
Who is the Product Manager in charge of the new features for Windows 11?
I have a very serious question. Why did on earth did you decide that the rename feature when right clicking a file has to be selected by clicking on “Show more options”?
It is by FAR one of the most commonly used options and now I have to do a TWO step process when it was ONE click before???
Did you do absolutely no UI/UX user research or feedback studies? Who were the people you tested on? Were ANY of them people who accidently mistype anything, like NORMAL HUMANS??
Please, for the love of god, try to emulate some of apple’s design principles where the experience is as easy as it can be, with the option to get more technical as needed.
AND PLEASE ADD BACK THE RENAME OPTION TO THE DEFAULT OPTION LIST WHEN RIGHT CLICKING. I HIGHLY DOUBT (AND HOPE) ITS NO MORE THAN LIKE A 15 LINE CODE CHANGE.
I have a very serious question. Why did on earth did you decide that the rename feature when right clicking a file has to be selected by clicking on “Show more options”? It is by FAR one of the most commonly used options and now I have to do a TWO step process when it was ONE click before??? Did you do absolutely no UI/UX user research or feedback studies? Who were the people you tested on? Were ANY of them people who accidently mistype anything, like NORMAL HUMANS?? Please, for the love of god, try to emulate some of apple’s design principles where the experience is as easy as it can be, with the option to get more technical as needed.AND PLEASE ADD BACK THE RENAME OPTION TO THE DEFAULT OPTION LIST WHEN RIGHT CLICKING. I HIGHLY DOUBT (AND HOPE) ITS NO MORE THAN LIKE A 15 LINE CODE CHANGE. Read More
Locking down external sharing
I’ve inherited a SharePoint instance that is too open externally for my liking.
I plan to make the following changes:
1. Change SharePoint and OneDrive sharing from “New and existing guests” to “Only people in your organisation” and
2. Enable the “Limit external sharing by domain”
Trying to find out if i make these change will anything already shared be no longer available or will they remain and the changes only apply from that point onward.
I’ve inherited a SharePoint instance that is too open externally for my liking. I plan to make the following changes: 1. Change SharePoint and OneDrive sharing from “New and existing guests” to “Only people in your organisation” and2. Enable the “Limit external sharing by domain” Trying to find out if i make these change will anything already shared be no longer available or will they remain and the changes only apply from that point onward. Read More