IP Library Granted Patent US 11,842,172
Granted Patent B2
US 11,842,172 · App. 16/854,687 · Granted Dec 12, 2023

Graphical user interface to an artificial intelligence engine utilized to generate one or more trained artificial intelligence models

Inventors: Mark Isaac Hammond (Berkeley, CA); Keen Mcewan Browne (Berkeley, CA); Mike Estee (Oakland, CA); Clara Kliman-Silver (Berkeley, CA)
Assignee: Microsoft Technology Licensing, LLC
G06N20/00G06F3/0482G06F8/31G06F8/311G06F8/38G06F9/451G06F9/4881G06F9/5066G06F15/80G06F16/2228G06F16/951G06F30/20G06K9/6257G06N3/008G06N3/04G06N3/0454G06N3/08G06N3/105G06N5/04G06Q10/00H04L67/01G06F3/03543G06F30/333G06F40/166
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,842,172
App. No.
16/854,687
Granted
Dec 12, 2023
Kind
B2
Abstract

A computing system includes a processor, and a storage device holding instructions executable by the processor. The instructions are executable to receive a source code through an application programming interface (“API”) exposed to a graphical user interface (“GUI”). The GUI is configured to enable an author to define a proposed model with a pedagogical programming language, the proposed model including an input, one or more concept nodes, and an output. The GUI is further configured to enable the author to provide a program annotation indicating an execution behavior for the source code, to generate an assembly code from the source code with a compiler of an artificial intelligence (“AI”) engine configured to work with the GUI; and to build an executable, trained AI model including a neural-network layout having one or more layers derived from the assembly code.

Claims (41)

1. A storage device holding instructions executable by a processor, the instructions comprising:

instructions to receive a source code through an application programming interface (“API”) exposed to a graphical user interface (“GUI”),

wherein the GUI is configured to enable an author to define a proposed model with a pedagogical programming language, the proposed model including an input, one or more concept nodes, and an output, and

wherein the GUI is further configured to enable the author to provide a program annotation including a breakpoint in the source code, and wherein the GUI is configured to automatically identify one or more concept nodes of the proposed model corresponding to the breakpoint;

instructions to generate an assembly code from the source code with a compiler of an artificial intelligence (“AI”) engine configured to work with the GUI; and

instructions to build an executable, trained AI model including a neural-network layout having one or more layers derived from the assembly code.

2. The storage device of claim 1 , wherein the GUI is an integrated development environment (“IDE”) including

a text editor configured to enable the author to define the proposed model by typing in a textual mode, and

a model designer configured to enable the author to define the proposed model by mouse gestures in a graphical mode.

3. The storage device of claim 2 , wherein author-based modification of the proposed model by the typing in the textual mode automatically modifies the proposed model in the model designer, and wherein author-based modification of the proposed model by the mouse gestures in the graphical mode automatically modifies the proposed model in the text editor.

4. A computing system, comprising:

a processor, and

a storage device holding instructions executable by the processor to:

receive a source code through an application programming interface (“API”) exposed to a graphical user interface (“GUI”),

wherein the GUI is configured to enable an author to define a proposed model with a pedagogical programming language, the proposed model including an input, one or more concept nodes, and an output, and

wherein the GUI is further configured to enable the author to provide a program annotation specifying an execution behavior for the proposed model;

generate an assembly code from the source code with a compiler of an artificial intelligence (“AI”) engine; and

build an executable, trained AI model based on the proposed model including a neural-network layout having one or more layers derived from the assembly code.

5. The computing system of claim 4 , wherein the specified execution behavior for the proposed model includes a breakpoint in the source code, and wherein the GUI is configured to automatically highlight one or more concept nodes of the proposed model corresponding to the breakpoint.

6. The computing system of claim 4 , wherein the specified execution behavior for the proposed model describes one or more data types to be streamed through connected nodes of the proposed model.

7. The computing system of claim 6 , wherein the data types include a constrained data type with range expressions limiting the data of the constrained data type.

8. The computing system of claim 6 , wherein the data types include one or more of: 1) strings, 2) integers, 3) floats, 4) Booleans, and 5) structured data types.

9. The computing system of claim 6 , wherein the GUI is configured to visually present the one or more concept nodes connected by connectors, and the program annotation specifying the execution for the proposed model includes, for each connector, a data type for the connector.

10. The computing system of claim 9 , wherein the GUI is further configured to color code each connector to indicate whether the data type for the connector is correct.

11. The computing system of claim 4 , wherein the GUI is a component of an integrated development environment (“IDE”) including

a text editor configured to enable the author to define the proposed model by typing in a textual mode, and

a model designer configured to enable the author to define the proposed model by mouse gestures in a graphical mode.

12. The computing system of claim 11 , wherein author-based modification of the proposed model by the typing in the textual mode automatically modifies the proposed model in the model designer, and wherein author-based modification of the proposed model by the mouse gestures in the graphical mode automatically modifies the proposed model in the text editor.

13. The computing system of claim 4 , wherein the program annotation specifying the execution behavior for the proposed model includes one or more training curriculums for the executable, trained AI model.

14. The computing system of claim 13 , wherein the instructions are further executable to map the one or more concept nodes of the proposed model onto the one or more neural-network layers of the executable, trained AI model based on the program annotation.

15. The computing system of claim 13 , wherein the instructions are further executable to find a starting point among the one or more training curriculums based on the program annotation.

16. A method of configuring an artificial intelligence computing system, comprising:

receiving a source code through an application programming interface (“API”) exposed to a graphical user interface (“GUI”),

wherein the GUI is configured to enable an author to define a proposed model with a pedagogical programming language, the proposed model including an input, one or more concept nodes, and an output, and

wherein the GUI is further configured to enable the author to provide a program annotation including one or more data types to be streamed through connected nodes of the proposed model;

generating an assembly code from the source code with a compiler of an artificial intelligence (“AI”) engine configured to work with the GUI; and

building an executable, trained AI model including a neural-network layout having one or more layers derived from the assembly code.

17. The method of claim 16 , wherein the data types include a constrained data type with range expressions limiting the data of the constrained data type.

18. The method of claim 16 , wherein the data types include one or more of: 1)strings, 2) integers, 3) floats, 4) Booleans, and 5) structured data types.

19. The method of claim 16 , wherein the GUI is configured to visually present the one or more concept nodes connected by connectors, and the program annotation includes, for each connector, a data type for the connector.

20. The method of claim 19 , wherein the GUI is further configured to color code each connector to indicate whether the data type for the connector is correct.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: BONSAI AI, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 054247/0580 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2020
From: HAMMOND, MARK ISAAC; BROWNE, KEEN MCEWAN; ESTEE, MIKE; KLIMAN-SILVER, CLARA
To: BONSAI AI, INC.
Reel/Frame 052456/0943 →
Continuity (3)
Continuation 15416988 · Jan 26, 2017
Provisional Application 62287861 · Jan 27, 2016
Related Publication 20200250583A1 · Aug 6, 2020
Cited By (2)
US 1,099,945 US 1,099,946