1
00:00:01,080 --> 00:00:05,679
How'd you like to listen to dot
NetRocks with no ads? Easy? Become

2
00:00:05,679 --> 00:00:09,839
a patron for just five dollars a
month. You get access to a private

3
00:00:10,000 --> 00:00:14,279
RSS feed where all the shows have
no ads. Twenty dollars a month,

4
00:00:14,279 --> 00:00:18,839
we'll get you that and a special
dot NetRocks patron mug. Sign up now

5
00:00:18,839 --> 00:00:36,159
at Patreon dot dot NetRocks dot com. Welcome back to dot net rocks.

6
00:00:36,200 --> 00:00:40,079
I'm Carl Franklin and I'm Richard Campbell, and we are in our respective places

7
00:00:40,079 --> 00:00:45,320
on opposite sides of the North American
continent, absolutely as we usually are.

8
00:00:45,840 --> 00:00:51,000
But why don't know you caught us
in the middle of three or four conferences

9
00:00:51,039 --> 00:00:55,320
here listener. Yeah, well,
in the last few shows and get in

10
00:00:55,359 --> 00:00:58,280
time shifting being hilarious. We're all
shows. We did it in Porto,

11
00:00:58,640 --> 00:01:03,239
and some awesome conversations. Really neat
folks, folks who never talked to before.

12
00:01:03,239 --> 00:01:06,400
I always tend to when we're going
to do in person shows, I

13
00:01:06,400 --> 00:01:08,480
try to go after guests we've never
had on before. Right, Yeah,

14
00:01:08,560 --> 00:01:12,200
new stuff, all good, I
would point out, I am. You

15
00:01:12,239 --> 00:01:15,400
know, it's getting towards the end
of the year, so you know what

16
00:01:15,439 --> 00:01:19,079
I'm working on the end of the
year, geek out. Yeah, yeah,

17
00:01:19,120 --> 00:01:22,560
I know it's close to the end
of the year when I have to

18
00:01:22,599 --> 00:01:26,599
open up the script my script files
and start pulling stuff forward for space and

19
00:01:26,640 --> 00:01:29,799
for energy, and I can't wait. There's been so much, it's so

20
00:01:30,000 --> 00:01:33,359
much, so much good stuff.
They're both they're both going to be I'm

21
00:01:33,359 --> 00:01:36,599
just committing now. They're going to
be long. I mean, you could

22
00:01:36,640 --> 00:01:40,840
just do a whole one on the
JWT right, oh, JWST and the

23
00:01:40,879 --> 00:01:46,560
crisis in cosmology, like the current
proposal they're floating around. Maybe we're long

24
00:01:46,599 --> 00:01:49,719
about the length of the age of
the universe. Maybe it's twice as long

25
00:01:49,760 --> 00:01:53,840
as we thought. It's twenty six
billion years instead of thirteen billion, wow,

26
00:01:53,879 --> 00:01:57,280
which just is stunning. I mean, I love the fact that this

27
00:01:57,400 --> 00:02:01,079
is why that instrument went up there, right, it was to test all

28
00:02:01,120 --> 00:02:07,319
of the assumptions we've been making and
it has delivered. Like do we talk

29
00:02:07,359 --> 00:02:09,800
to Amber Strong about that, like
this was one of the site and she's

30
00:02:09,879 --> 00:02:15,400
just like, Okay, there are
things we're finding that cannot be there.

31
00:02:15,520 --> 00:02:20,439
There's something we don't know and it's
a big something. And Vishwaz is looking

32
00:02:20,479 --> 00:02:23,360
at us like did I just parachute
in here from another planet, land on

33
00:02:23,360 --> 00:02:27,360
the right show anyway, don't get
me started. Oh wait, you did,

34
00:02:27,960 --> 00:02:30,159
I did. I'm sorry you late. I can't wait. I can't

35
00:02:30,159 --> 00:02:35,360
wait, I can't wait. So
uh yeah, well let's get started with

36
00:02:35,400 --> 00:02:46,280
better no framework awesome? All right. Well I've talked about this show I've

37
00:02:46,280 --> 00:02:50,960
done with Brian McKay, the a
iBOT Show before we had them on.

38
00:02:51,240 --> 00:02:57,360
Yes, yeah, and we have
just started getting into code and using c

39
00:02:57,560 --> 00:03:02,319
sharp with the API to do you
know, the chaining, you know,

40
00:03:02,439 --> 00:03:08,319
get the results of one prompt chain
it into another. But we attempted to

41
00:03:08,360 --> 00:03:12,719
do one last week and by last
week, I mean you know a few

42
00:03:12,719 --> 00:03:15,479
weeks ago, I think it was
the twenty fifth of October, we recorded

43
00:03:15,919 --> 00:03:21,960
with a guest and for some reason
Riverside FM, which is what we record

44
00:03:22,039 --> 00:03:29,840
with, decided to completely trash the
are not finish uploading the screen share on

45
00:03:29,919 --> 00:03:31,960
top of that, so we're going
to record it again. That's that's the

46
00:03:32,719 --> 00:03:36,520
thing. So the episode eleven,
watch for that because it's going to be

47
00:03:36,560 --> 00:03:44,719
amazing. We're basically trying to break
the or push GPT four V image recognition

48
00:03:45,080 --> 00:03:46,639
to its limits. Oh wow,
that's what we're trying to do. But

49
00:03:47,120 --> 00:03:52,360
in the course of doing that,
Brian actually got some results and we're going

50
00:03:52,400 --> 00:03:54,719
to rerecord it. So I don't
know what's going to happen the second time

51
00:03:54,719 --> 00:03:59,840
of the first time. First time
he got results that he didn't expect,

52
00:04:00,039 --> 00:04:05,759
and he tried these same prompts with
the same images and got completely different responses.

53
00:04:06,199 --> 00:04:11,759
And it turned out either somebody's watching
or it's just learning, Like,

54
00:04:12,360 --> 00:04:15,120
no, that wasn't a good response, Like there might be something else looking

55
00:04:15,199 --> 00:04:20,279
at the responses and tuning the algorithm, like in a matter of twenty four

56
00:04:20,319 --> 00:04:24,800
hours. Well, there's also another
possibility, which is that generate of AI

57
00:04:24,959 --> 00:04:28,959
models have a variability that allow for
a range of answers. Yeah, and

58
00:04:29,040 --> 00:04:32,560
I kind of got into it with
him and his guest as well. You

59
00:04:32,600 --> 00:04:39,920
know, the whole idea of do
these large language models reason, And my

60
00:04:40,079 --> 00:04:44,560
stance right now is no, they
don't. And you know, when presented

61
00:04:44,600 --> 00:04:46,800
with the facts, this is what
they do. They take this, they

62
00:04:46,800 --> 00:04:50,519
take this. How is that not
reasoning? My position is well, because

63
00:04:50,519 --> 00:04:55,680
it gives you inconsistent answers. Well, more partly it's just a statistical model,

64
00:04:55,759 --> 00:04:58,560
right, Like, there's no reason
to be had. It's not weighing

65
00:04:58,600 --> 00:05:02,240
any factors at all. Gives a
statistical result, right and and you know,

66
00:05:02,319 --> 00:05:06,079
but if you want to just look
at it empirically, when you ask

67
00:05:06,240 --> 00:05:11,879
somebody what's one plus one and on
Tuesday they say two and on Thursday they

68
00:05:11,920 --> 00:05:15,040
say nine, Well you asked the
same question over and over again, it'll

69
00:05:15,040 --> 00:05:17,439
give you different answers like yeah,
that's it. Yeah, and so there

70
00:05:17,480 --> 00:05:20,319
therefore you can't count on it.
It's not reliable and it's not what you

71
00:05:20,319 --> 00:05:25,120
think it is. You don't ask
You don't ask a sarcastic parrot for facts.

72
00:05:25,120 --> 00:05:30,360
That's not what it's meant for.
I'm sure Vishwas has lots of things

73
00:05:30,360 --> 00:05:33,959
to say on this, but anyway, tune into the Aibot show dot com.

74
00:05:34,319 --> 00:05:39,800
Uh. Starting at about episode nine, I think is when we started

75
00:05:39,839 --> 00:05:44,079
using code. But in episode eleven
is where we start really pushing the boundaries

76
00:05:44,079 --> 00:05:46,519
with GPT four v Love it,
don't learn it, Love it Cool.

77
00:05:46,519 --> 00:05:49,399
Boo's Talkers Today, Richard grabbed a
comment of a show eighteen twenty nine when

78
00:05:49,439 --> 00:05:54,600
we did just earlier this year with
our friend Vishwaz when we were talking about

79
00:05:54,639 --> 00:05:58,160
fusion development, which apparently is a
term that's now fallen out of favor.

80
00:05:58,680 --> 00:06:02,439
But this is about the idea that
the power platform presents an awesome way to

81
00:06:02,480 --> 00:06:08,720
build heetrically need as clients against cloud
back ends, and that there's a role

82
00:06:08,839 --> 00:06:12,920
for traditional net developers in there and
building some of those back end services and

83
00:06:12,920 --> 00:06:15,040
even building client side components. And
that was the idea of Fusion, that

84
00:06:15,079 --> 00:06:18,399
we can all work together. I
don't know how else caught on with folks,

85
00:06:18,560 --> 00:06:21,519
but not that hip. But we
did get a comment off that show

86
00:06:21,519 --> 00:06:26,480
from Jim, who I believes are
regular He said, every time I hear

87
00:06:26,560 --> 00:06:29,480
someone talk about how easy it is
to build with power apps for a power

88
00:06:29,600 --> 00:06:31,839
user, I shake my head and
I have to think to myself that we've

89
00:06:31,879 --> 00:06:36,120
lost something. In the past twenty
years. I went from it support dude

90
00:06:36,120 --> 00:06:40,639
with no real software development training to
a software development leader, in large part

91
00:06:40,680 --> 00:06:45,680
because of visual Basic for applications,
which made it easy to learn to program.

92
00:06:46,040 --> 00:06:49,120
We didn't need a solution that put
hard to maintain Excel formulas into web

93
00:06:49,120 --> 00:06:53,519
app. We had a problem that
needed to get solved and get back quickly

94
00:06:53,600 --> 00:06:58,000
to developing more apps. We need
tools that get us to the equivalent of

95
00:06:58,000 --> 00:07:00,959
the late nineties and early two thousand
desktops development experience, not things that try

96
00:07:01,000 --> 00:07:04,319
and mimic access. I mean,
it's one click to create a project that

97
00:07:04,319 --> 00:07:09,040
I could start dropping UI elements into
and then writing clean cut with a minimum

98
00:07:09,040 --> 00:07:13,199
of ceremony, not hiding logic behind
textbox dates out of textboxes. And I'm

99
00:07:13,199 --> 00:07:15,839
going to turn off my rant before
it turns into a blog post now.

100
00:07:15,920 --> 00:07:19,720
I mean, Jim, I would
say you're misremembering some stuff too, like

101
00:07:20,040 --> 00:07:23,519
first thing that I came to appreciate. I said this the other day on

102
00:07:23,560 --> 00:07:26,839
another show, where I said,
I think wind Forms is the exception.

103
00:07:28,879 --> 00:07:32,399
It's the only product that ever had
a great designer. Every other attempt to

104
00:07:32,399 --> 00:07:38,000
make a great designer look at you, front Page or dream Weaver, much

105
00:07:38,079 --> 00:07:42,800
less WPF. Every other attempt to
make a great designer has fallen on hard

106
00:07:42,879 --> 00:07:46,160
times. Only wind Forms had a
great designer. There is a reason for

107
00:07:46,199 --> 00:07:50,879
that. The reason is wind Forms
is a pixel based grid, and all

108
00:07:50,920 --> 00:07:57,800
of these other things are dynamic in
don't use yeah, and that's why can't

109
00:07:57,920 --> 00:08:01,079
You can't have a visual designer when
you're not pixel based. Well, and

110
00:08:01,120 --> 00:08:03,519
the downside to the pixel based is
then you go to higher risk monitors and

111
00:08:03,560 --> 00:08:07,560
oops, or you want to work
at mobile oops, or you want to

112
00:08:07,720 --> 00:08:11,720
scale. Yeah, all of those
problems are introduced, and so that's why

113
00:08:11,759 --> 00:08:15,360
we have this one draggy, droppy
designer that people fell in love with back

114
00:08:15,399 --> 00:08:20,480
in the day. Yeah, but
the idea that that vb ever built clean

115
00:08:20,519 --> 00:08:24,079
code of any kind and with minimum
ceremony, Like it was good at getting

116
00:08:24,120 --> 00:08:26,399
stuff done, but boy it was. You had to practice carefully to make

117
00:08:26,439 --> 00:08:31,000
maintainable projects. Yes you did.
It's a bit of a nostalgic effect to

118
00:08:31,000 --> 00:08:35,080
think all things were so much simpler
them. Well they were because we had

119
00:08:35,159 --> 00:08:39,720
VGA displays, one type of machine
to deal with, and you know,

120
00:08:39,879 --> 00:08:41,519
it more or less work that you
were writing code on the same kind of

121
00:08:41,559 --> 00:08:45,480
computer you were going to run it
on. Like life was simpler in that

122
00:08:45,559 --> 00:08:48,200
respect. You know. I had
a flashback to the nineties when I had

123
00:08:48,200 --> 00:08:52,679
my little kids and we used to
play DVD games right on the computers of

124
00:08:52,720 --> 00:08:56,360
the day. Dug out some of
those DVDs, you know, like played

125
00:08:56,399 --> 00:09:01,360
them, brought them up, and
I was thinking, oh, this is

126
00:09:01,360 --> 00:09:03,240
going to be great. You know, we get to do these cartoony mathey

127
00:09:03,320 --> 00:09:07,519
things, right. Yeah, it's
like the size of a postage stamp on

128
00:09:07,600 --> 00:09:09,679
my screen. Your screens just a
little bit higher resolution now, yeah,

129
00:09:09,720 --> 00:09:13,200
and you blow it up and it
does not look good, you know.

130
00:09:13,279 --> 00:09:16,159
For the for the history of dot
net, I have all of those great

131
00:09:16,159 --> 00:09:20,559
slides of the conferences from two thousand, like the original pds A tech ed

132
00:09:20,600 --> 00:09:24,200
when dot net was first announced,
and like Mixo six and so forth.

133
00:09:24,559 --> 00:09:28,840
You know, I had to get
all of those graphics remade because they were

134
00:09:28,879 --> 00:09:33,600
like three twenty two eighty yeah,
six hundred like back then, screens weren't

135
00:09:33,600 --> 00:09:37,879
the same resolution, and they they
looked terrible. Tretty tramble on eighty ten

136
00:09:37,919 --> 00:09:39,679
eighty. So I literally sent copies
of them to designers, said remake these

137
00:09:39,720 --> 00:09:43,440
as ten eighty for me. So
I have the only ones. I have

138
00:09:43,480 --> 00:09:46,279
the only good looking mix O six
graphic, Like, it's me. I

139
00:09:46,399 --> 00:09:50,200
made it, it's mine. That's
very cool. Anyway, Jim, thank

140
00:09:50,240 --> 00:09:52,600
you so much for your comment and
a copy of music Coobu. It's on

141
00:09:52,639 --> 00:09:54,679
its way to you. And if
you'd like a copy of Musiccobeu, I

142
00:09:54,759 --> 00:09:58,679
write a comment on the website at
dot net rocks dot com or on the

143
00:09:58,679 --> 00:10:01,399
facebooks we publish every show there and
if you comment there and I read it

144
00:10:01,399 --> 00:10:03,720
on the show, we'll send you
copy of us to go by. And

145
00:10:03,759 --> 00:10:05,919
you know, you can follow us
on Twitter if you like to, or

146
00:10:05,120 --> 00:10:09,440
X or whatever the hell it is
today. It's going to be Z tomorrow,

147
00:10:09,480 --> 00:10:15,440
I'm sure. But yeah, we're
still there, but the cool kids

148
00:10:15,480 --> 00:10:20,000
are hanging out. I'm mastadon from
from my perspective anyway, I'm at Carl

149
00:10:20,000 --> 00:10:24,440
Franklin at tech hubs Social, and
I'm Rich Campbell at Macedon dot social.

150
00:10:24,600 --> 00:10:28,360
Yeah, send us a two.
Maybe you'll get a copy of music to

151
00:10:28,360 --> 00:10:31,600
go buy. There you go.
It's another way that you can leave a

152
00:10:31,600 --> 00:10:37,919
comment. And that brings us to
our good friend Vishwas. Vishwa Leiley has

153
00:10:37,080 --> 00:10:43,879
been on the show some thirteen or
fourteen times. He is an Azure an

154
00:10:43,879 --> 00:10:48,279
AI expert. His bio is long, but I won't be labored that here.

155
00:10:48,279 --> 00:10:52,799
Uh he's a real great guy as
well. Welcome back, Vishwas.

156
00:10:52,039 --> 00:11:00,200
Thank you what you've been up to, what's doing well? Doing the Like

157
00:11:00,240 --> 00:11:07,320
everybody else, got started with chagpt
open ai, Azure open Ei. Specifically

158
00:11:07,840 --> 00:11:11,799
for asure developers like me. It
was an easy sort of way to get

159
00:11:11,840 --> 00:11:16,840
into generative AI I've been working on
some aim al stuff previously, but generative

160
00:11:16,840 --> 00:11:24,399
AI, of course has changed everything
that we knew before. Now you're in

161
00:11:24,480 --> 00:11:26,639
watching BC I think. I think
a lot of your customers or governments like,

162
00:11:28,320 --> 00:11:33,000
aren't they pretty careful about adopting new
technologies. I'm always impressed that you're

163
00:11:33,039 --> 00:11:37,679
in these things so early on.
Yeah. So, yes, Richard,

164
00:11:37,759 --> 00:11:41,919
that's true. But I do work
with government and commercial customers both. You

165
00:11:41,960 --> 00:11:46,120
know, the the idea is that
can we can we try out some solutions

166
00:11:46,120 --> 00:11:50,360
in the commercial world bring those some
of those solutions to the government community.

167
00:11:50,879 --> 00:11:56,039
So that's that's been the pattern.
But you'll be surprised the government customers.

168
00:11:56,120 --> 00:11:58,960
And you know, Microsoft has Azure
Open the Eye service that was fed ramped,

169
00:12:00,600 --> 00:12:03,919
right, so it has available in
a certain secure setting. That was

170
00:12:03,919 --> 00:12:09,240
an announcement that came a few months
ago. So there are civilian agencies who

171
00:12:09,399 --> 00:12:18,320
have lots of needs for automation of
processes and processing of documents, and they're

172
00:12:18,320 --> 00:12:24,399
definitely looking at generative AI models to
be able to expedite some of that work.

173
00:12:24,559 --> 00:12:28,879
Well, I know the government is
currently sharpening its clause to to put

174
00:12:28,919 --> 00:12:33,799
some restrictions on AI even sort of
be fuddled about this whole thing from the

175
00:12:33,879 --> 00:12:37,600
very beginning, and I'm not so
sure how well they understand it. But

176
00:12:39,519 --> 00:12:43,799
clearly there's some legislation needs to happen, especially around copyright protection and that kind

177
00:12:43,840 --> 00:12:48,799
of stuff licensing. But what are
your thoughts on that. Have you heard

178
00:12:48,799 --> 00:12:52,559
anything being in DC about what they've
planned to do? Well, you know,

179
00:12:52,679 --> 00:12:56,120
like you, there's been news that
White House is preparing for a major

180
00:12:56,120 --> 00:13:00,559
announcement. I don't know if it's
a good thing or a bad thing for

181
00:13:01,320 --> 00:13:05,519
You're right, I think we do
need some guidance there, but I always

182
00:13:05,559 --> 00:13:13,799
worry about what kind of guidance and
will impede the amazing amount of overall.

183
00:13:13,919 --> 00:13:16,159
I mean, they are negatives and
there are positives, like everything else.

184
00:13:18,279 --> 00:13:22,080
I do think that this is just
an amazing development that we will look back

185
00:13:22,120 --> 00:13:26,200
five years from now and say,
oh, something new started in twenty twenty

186
00:13:26,240 --> 00:13:33,360
three. So I'm hoping that the
legislation that they're coming up with, I'm

187
00:13:33,360 --> 00:13:41,600
hoping with the industry leaders is a
responsible step but does not curtail the progress

188
00:13:41,639 --> 00:13:45,559
and the amazing possibilities that we see
from this technology. Yeah, when I

189
00:13:45,600 --> 00:13:50,159
think about the logical roles, it's
like it would be good to have some

190
00:13:50,200 --> 00:13:54,080
privacy legislation. You've been needing that
for ages, you know, large language

191
00:13:54,120 --> 00:13:58,240
models notwithstanding. But to me,
the one area that you want from a

192
00:13:58,240 --> 00:14:01,840
public perspective care about is source of
data full stop. If you're going to

193
00:14:01,840 --> 00:14:05,799
put make an LLM available to the
public, even for a fee, you

194
00:14:05,799 --> 00:14:09,440
have to tell the where you get
your data from. That's an easy one,

195
00:14:09,519 --> 00:14:13,080
and it's and you know, there's
nothing profound there. It's not a

196
00:14:13,120 --> 00:14:16,919
secret. Presumably, it certainly deals
with it starts to tackle the cocky right

197
00:14:16,960 --> 00:14:18,960
issue, but it's just like,
hey, you know, you want to

198
00:14:18,960 --> 00:14:22,200
compete, make distinctions between different lms, talk about source of data, right,

199
00:14:22,320 --> 00:14:26,159
So, Richard, I think source
of data. And there's been a

200
00:14:26,159 --> 00:14:30,519
debate about you know, what do
open source models mean? Right? Is

201
00:14:30,559 --> 00:14:33,960
it just publishing the weights of your
model, Does it make it open source?

202
00:14:33,679 --> 00:14:39,720
Or does announcing to the world what
sources that your models were trained on.

203
00:14:41,080 --> 00:14:43,720
Yeah, that's the definition of open
source. So you're absolutely right.

204
00:14:45,480 --> 00:14:50,039
These companies have to at some point
tell us what are the source of data.

205
00:14:50,080 --> 00:14:56,200
But that's different from citations. Once
the response is being generated at a

206
00:14:56,240 --> 00:15:00,879
sentence level, that's that's a very
hard problem to do to spid well.

207
00:15:00,919 --> 00:15:03,159
And that's what you really need,
right, I mean, nobody wants a

208
00:15:03,440 --> 00:15:11,080
you know, fifty terrorbyte list of
sources, general sources that it's been trained

209
00:15:11,120 --> 00:15:13,120
on. But what I want to
know is when it tells me something,

210
00:15:13,399 --> 00:15:16,720
where did you get that fact?
You know? But as you said,

211
00:15:16,759 --> 00:15:22,600
it's very hard because it's a statistic
model that predicts the next word that's going

212
00:15:22,679 --> 00:15:24,320
to come. How does it know
it? Arguably, it's not pulling from

213
00:15:24,360 --> 00:15:28,399
any one source. It's the points
of the data that it processed against.

214
00:15:28,559 --> 00:15:33,000
Right, Yes, that is true. We can sort of break my mind,

215
00:15:33,039 --> 00:15:37,759
break the generative way technology into two
parts. The ability to comprehend what

216
00:15:37,799 --> 00:15:41,240
you're saying. You know, so
it's throwing it a prompt and it is

217
00:15:41,279 --> 00:15:45,279
trying to comprehend and trying to give
you an answer. And the second part

218
00:15:45,320 --> 00:15:48,279
is the general knowledge that it has
captured through the training process. Right.

219
00:15:48,320 --> 00:15:52,440
If you think of I think of
generative Way in two terms, right from

220
00:15:52,559 --> 00:15:56,200
and I think we're going to talk
get into this more. I look at

221
00:15:56,240 --> 00:16:02,159
it from the perspective of how can
generate your way I make me a better

222
00:16:02,200 --> 00:16:07,679
developer? How can I solve everyday
problems? That are there in the businesses

223
00:16:07,720 --> 00:16:11,200
in it. How can I solve
that? So from my perspective, I

224
00:16:11,320 --> 00:16:17,399
trend to break, like I said, into two parts, the part about

225
00:16:17,440 --> 00:16:21,639
comprehending and sort of listening and reasoning, and then part about general knowledge.

226
00:16:22,159 --> 00:16:26,159
I tend to leave the general knowledge
part out if I can. When I'm

227
00:16:26,159 --> 00:16:30,039
asking for a prompt or asking for
a response, I'm going to provide you

228
00:16:30,080 --> 00:16:33,440
a context and you should only reply
based on the information that I am providing

229
00:16:33,480 --> 00:16:38,639
you commonly referred to as the RAG
pattern, and that is very important to

230
00:16:38,720 --> 00:16:45,480
me. So Richard, your question
about sources and citation is very important.

231
00:16:45,519 --> 00:16:49,720
But in the kind of solutions that
I'm building, I am providing it a

232
00:16:49,759 --> 00:16:55,279
context and saying I'm going to give
you these ten pages of information and you

233
00:16:55,399 --> 00:16:59,559
need to process that, and that
way, the hallucination and the accuracy is

234
00:16:59,639 --> 00:17:03,240
much high to begin with, because
I'm controlling the source. I agree,

235
00:17:03,519 --> 00:17:08,680
and I think that code in general, you know, code generation or help

236
00:17:08,759 --> 00:17:15,839
with coding is where AI. You
know, this large language model absolutely shines.

237
00:17:15,119 --> 00:17:19,599
Sure, and nobody's going to complain
that, oh, that algorithm was

238
00:17:19,640 --> 00:17:26,160
lifted out of my open source project. Well it probably wasn't it was probably

239
00:17:26,279 --> 00:17:32,359
put together just by statistics, but
but I've found it. That's that's where

240
00:17:32,400 --> 00:17:37,720
it really shines. And that's not
where people are complaining. People are complaining

241
00:17:37,759 --> 00:17:42,400
because it's taking their art, artwork
and appropriating it. You know, artists,

242
00:17:42,480 --> 00:17:45,599
like all the artists are crying about
this, right, you know,

243
00:17:45,920 --> 00:17:51,559
and this is why people don't trust
it. But as you know, anyone

244
00:17:51,599 --> 00:17:56,759
who's writing complex documents that are in
or code that are in a specific as

245
00:17:56,799 --> 00:18:02,240
you said, context, right,
that's where it really really shines. And

246
00:18:03,200 --> 00:18:07,400
before I stop talking here, the
other things that I like about it are

247
00:18:07,720 --> 00:18:15,359
the new chat GPT being web interface, so instead of using the data that

248
00:18:15,400 --> 00:18:22,599
it's trained on, you can do
essentially what is a web search, but

249
00:18:22,039 --> 00:18:26,359
it goes out, finds multiple sources, puts things together, and if it

250
00:18:26,400 --> 00:18:32,839
finds the answer, it sort of
gives you a nice concise answer instead of

251
00:18:32,880 --> 00:18:37,319
having to scrape it out of different
sites. And also if it can't find

252
00:18:37,319 --> 00:18:41,039
an answer, it'll say, you
know what, I searched all over the

253
00:18:41,039 --> 00:18:45,880
web and I couldn't find that thing
that you're looking for. Maybe it doesn't

254
00:18:45,920 --> 00:18:48,799
exist, and maybe here's some documentation
that you can go look at and see

255
00:18:48,839 --> 00:18:52,680
if you can figure it out yourself. Yeah, that integration because all of

256
00:18:52,680 --> 00:18:56,960
these language models have a knowledge cutoff
date December twenty twenty one or some date

257
00:18:56,119 --> 00:19:00,599
like that. So if you ask
a question that goes beyond that, of

258
00:19:00,640 --> 00:19:03,160
course, having this big integration where
you can do go do a web search,

259
00:19:04,200 --> 00:19:07,680
you could do that. I guess
with ch AGPT too, with some

260
00:19:07,759 --> 00:19:11,720
plug ins, but beings sort of
gives you that. What I've found is

261
00:19:11,759 --> 00:19:15,839
it generally works, but there are
there are situations where the citations are not

262
00:19:15,960 --> 00:19:21,880
complete, and that merging of real
time look up versus what the model has

263
00:19:21,920 --> 00:19:26,200
been trained on does not work as
seamlessly. You're right as you were copect,

264
00:19:26,480 --> 00:19:30,480
and especially for things like c sharp
like you're better off using the default

265
00:19:32,319 --> 00:19:36,880
model that it was trained on to
to do some code figure you know,

266
00:19:37,400 --> 00:19:41,359
right, a routine that does X, then you are using the bang stuff.

267
00:19:41,599 --> 00:19:45,000
The other thing I like about it
now is I can say, here's

268
00:19:45,000 --> 00:19:48,960
a u r L to a PDF, digest this, and then tell me

269
00:19:48,039 --> 00:19:52,720
why, you know, my fridge
doesn't work. That's right, and it

270
00:19:52,759 --> 00:19:56,200
will actually do a good job of
diagnosing, And you can take pictures and

271
00:19:56,359 --> 00:20:00,720
upload it and it'll understand what it's
looking at in the picture most of the

272
00:20:00,799 --> 00:20:03,519
time. This is what we're finding
out anyway, cal that's a very good

273
00:20:03,519 --> 00:20:07,559
example. Give it a fifty or
one hundred page document and let it read

274
00:20:07,599 --> 00:20:11,279
it, and then have a conversation
with it, and say, because you

275
00:20:11,279 --> 00:20:15,400
know this, this fifty page document
presumably is talking about different problems with the

276
00:20:15,480 --> 00:20:18,559
fridge. You don't want to go
through that. You can say, Okay,

277
00:20:18,599 --> 00:20:22,519
now that you've read it, I'm
going to tell you two symptoms that

278
00:20:22,599 --> 00:20:26,839
I'm seeing with the problem that I'm
having, and can you narrow it down?

279
00:20:26,880 --> 00:20:30,200
And then having a conversation with that. That's just amazing. It is

280
00:20:30,240 --> 00:20:33,279
amazing. That's aig. It speaks
to the strength of this model. It

281
00:20:33,400 --> 00:20:38,079
is a good summarizer to be able
to ream through a lot of information.

282
00:20:38,279 --> 00:20:44,640
And plus you can validate you know
it got it from those hundred pages.

283
00:20:44,680 --> 00:20:48,359
So once it gives a statement like
you should do this, you can take

284
00:20:48,400 --> 00:20:52,920
that phrase and search in that document
and probably find exactly the reference you need

285
00:20:52,680 --> 00:20:56,400
to say, yeah, the document
really does say this. I found I

286
00:20:56,440 --> 00:21:00,720
did this once in my amplifier and
it actually gave me the answer and said

287
00:21:00,759 --> 00:21:04,839
on page fifty three in this section
here's what it says. So it actually

288
00:21:06,000 --> 00:21:10,000
told me where in the document the
answer lied. And this was a real

289
00:21:10,039 --> 00:21:11,759
experiment that I did. And I
had a real problem with a piece of

290
00:21:11,799 --> 00:21:15,799
gear, and I literally told her
to read the PDF of the manual and

291
00:21:17,119 --> 00:21:21,359
it in like five seconds gave me
the answer the challenge that you know,

292
00:21:21,480 --> 00:21:23,920
let's say if your one hundred page
PDF document, either it can read it

293
00:21:25,000 --> 00:21:27,240
completely, that's one thing. But
you know what if you have thousands of

294
00:21:27,440 --> 00:21:32,079
fifty page documents, Yeah, then
you're trying to sort of come up with

295
00:21:32,119 --> 00:21:36,960
an answer, and you're eventually going
to run into a limit. Even though

296
00:21:37,000 --> 00:21:40,359
GBT four gives you thirty to two
K models, which is what about two

297
00:21:40,400 --> 00:21:42,759
hundred and fifty pages or so what
if you had more pages? And then

298
00:21:42,799 --> 00:21:47,559
now you can't feed that into the
model, right, and now you have

299
00:21:47,599 --> 00:21:49,559
to do some sort of a search, a vector search of some sort,

300
00:21:49,880 --> 00:21:55,240
get the right content in and pass
that as a context you prompt you said

301
00:21:55,279 --> 00:22:00,759
the V word vector databases. I
find these baffle and I'm not so sure

302
00:22:00,799 --> 00:22:04,519
that you know, Joe web user
is going to be able to figure them

303
00:22:04,559 --> 00:22:08,039
out. Can you briefly explain what
they are? And sure, sure,

304
00:22:08,119 --> 00:22:11,599
sure, and I shouldn't have used
the words without explaining it first. No,

305
00:22:11,720 --> 00:22:17,039
of course you should. How are
we going to ask you questions?

306
00:22:17,519 --> 00:22:22,440
I mean, yeah, what's our
role here? No? True? So

307
00:22:22,839 --> 00:22:27,079
let's take a step back. So
you started out with a great example of

308
00:22:27,279 --> 00:22:32,839
you know, having this great fifty
page PDF about your amplifier and it just

309
00:22:33,319 --> 00:22:36,839
you. You had the model read
that completely, and you were able to

310
00:22:36,880 --> 00:22:44,000
do that because that fifty pages fit
into the size of that that the model

311
00:22:44,000 --> 00:22:48,640
supports, which is thirty two.
Right. What if you had thousands of

312
00:22:48,680 --> 00:22:53,519
fifty page documents and you're trying to
build an answer. You can't feed all

313
00:22:53,599 --> 00:22:56,720
of those to the models, at
least not now. Maybe GPT five GPT

314
00:22:56,799 --> 00:23:00,319
six would allow us to do that, who knows. So in the absence

315
00:23:00,359 --> 00:23:03,640
of that, what you have to
do is you have to go do a

316
00:23:03,680 --> 00:23:10,880
search against those thousand documents. And
the problem is that if you did some

317
00:23:11,000 --> 00:23:15,960
keyboard search, as we've been used
to doing, right, it is not

318
00:23:15,200 --> 00:23:22,000
that keyboard search is really not conveying
the intent of what you're trying to search.

319
00:23:22,079 --> 00:23:25,559
You might search for some words and
you might get good hits, no

320
00:23:25,680 --> 00:23:29,160
question about it. But what if
you're trying to just describe the problem.

321
00:23:29,240 --> 00:23:33,400
You're just saying, my amplifier works
this way in certain conditions, but I'm

322
00:23:33,440 --> 00:23:37,799
noticing these problems. I can guarantee
you there will be no keyboard hits when

323
00:23:37,799 --> 00:23:42,599
you write a statement like that.
But in the you're describing the problem.

324
00:23:44,160 --> 00:23:48,200
And what if you were able to
take this two word two lines worth the

325
00:23:48,440 --> 00:23:56,279
description and find a paragraph of texts
that closely resembles this text. And that's

326
00:23:56,279 --> 00:23:59,400
what a vector database is. What
we are trying to do, is we're

327
00:23:59,480 --> 00:24:07,519
trying to take every piece of text
in that large corpus of documents and we

328
00:24:07,559 --> 00:24:14,519
are assigning some statistical values to it
so that we can place certain sentences in

329
00:24:14,559 --> 00:24:18,960
a certain manner. So think of
every word having a certain number of attributes,

330
00:24:19,440 --> 00:24:22,880
and then words that are closely aligned
will have similar number of attributes.

331
00:24:22,920 --> 00:24:27,720
Things like that. So now you
take that sentence of your description of the

332
00:24:27,799 --> 00:24:33,000
problem, you create an embedding out
of it, and you know, you

333
00:24:33,000 --> 00:24:37,039
can use any of the models to
create an embedding, which is you're getting

334
00:24:37,039 --> 00:24:41,680
a mathematical representation of those two sentences. And then you are and this going

335
00:24:41,720 --> 00:24:47,319
back to high school math, you're
doing a coscience search of this mathematical representation

336
00:24:47,960 --> 00:24:52,400
against the mathematical representation of the entire
corpus. Maybe you get two or three

337
00:24:52,519 --> 00:24:57,319
hits which generally talk about this problem, and then you bring that text back

338
00:24:57,359 --> 00:25:03,640
and only send that text to the
model because now you've compressed that information.

339
00:25:03,240 --> 00:25:08,319
So that's if you're able to do
that, then you can get answers to

340
00:25:08,319 --> 00:25:14,400
the question even if you have one
thousand documents. And I'll talk about later

341
00:25:14,440 --> 00:25:19,519
on the product or application that I'm
working on, which basically uses the pattern

342
00:25:19,559 --> 00:25:23,160
that I just talked about. I
mean, we don't have enough time for

343
00:25:23,200 --> 00:25:27,519
you to explain this, but in
general, how does one go about creating

344
00:25:27,880 --> 00:25:36,359
a vector database from a tome of
documents? Right? So you know,

345
00:25:36,599 --> 00:25:41,359
let's just take the simple example of
you those two lines of description of your

346
00:25:41,400 --> 00:25:47,799
problem. Right, you can go
to any number of embedding models that are

347
00:25:47,839 --> 00:25:52,680
available. You can say, hey, please give me a vector representation of

348
00:25:52,720 --> 00:25:56,359
these three lines of text, and
it literally gives you back a vector representation

349
00:25:56,440 --> 00:26:03,119
of those three lines of text.
So, because these models have been trained,

350
00:26:03,160 --> 00:26:08,119
like I said, you play this
prediction game what comes next? What

351
00:26:08,279 --> 00:26:14,200
comes next? You play this prediction
game, and by playing this game,

352
00:26:14,319 --> 00:26:19,279
millions and billions of times you have
assigned a certain attribute to a certain word

353
00:26:19,359 --> 00:26:25,599
in a certain phrase of that sentence. And then by placing these values in

354
00:26:25,640 --> 00:26:29,480
a multi dimensional space, you can
say these words together mean something, These

355
00:26:29,519 --> 00:26:33,839
words together mean something. And you
know, we all remember the twenty fourteen

356
00:26:33,920 --> 00:26:37,039
word to wac paper that Google came
out with, you know, twenty fourteen,

357
00:26:37,039 --> 00:26:42,079
and we were so amazed when it
could do simple things like king minus

358
00:26:42,119 --> 00:26:47,920
man plus woman equals what oh queen, And we were so happy that you

359
00:26:47,920 --> 00:26:52,240
know, these models have now some
semantic understanding of English language. Right that

360
00:26:52,400 --> 00:26:56,680
was twenty fourteen when the word to
wac paper came out. And of course,

361
00:26:56,839 --> 00:27:03,079
you know, we've given the complexity
of the models, the transformer model,

362
00:27:03,119 --> 00:27:04,920
the availability of GPUs. Now we
can do so much more. We

363
00:27:04,920 --> 00:27:11,440
were embedding words literally, now we're
embedding paragraphs and pages essentially, so that

364
00:27:14,480 --> 00:27:19,680
to your listeners, essentially you have
taken your corpus of text and you've created

365
00:27:19,680 --> 00:27:26,480
a mathematical representation that tells a model. The model is not sentient, it

366
00:27:26,519 --> 00:27:30,839
does not know what it means.
But because of mathematical representation, can take

367
00:27:30,839 --> 00:27:36,759
the problem description and say there are
these four paragraphs out of these thousand documents

368
00:27:37,000 --> 00:27:41,680
that seem to be talking about something
similar, and you go and pull those

369
00:27:41,720 --> 00:27:45,000
paragraphs, and then you go to
your prompt and say, I'm going to

370
00:27:45,039 --> 00:27:52,000
give you four paragraphs worth of relevant
information about my amplifier, and I'm going

371
00:27:52,039 --> 00:27:56,319
to give you some symptoms. Your
job is to take that symptom and try

372
00:27:56,319 --> 00:28:02,960
to come up with a plausible answer
for the problem that I'm having. That's

373
00:28:03,359 --> 00:28:08,200
that's essentially what's happened. I get
that with the paragraphs that you generate for

374
00:28:08,279 --> 00:28:14,119
the prompt. But how do you
know if I have thousands and thousands of

375
00:28:14,160 --> 00:28:18,920
pages of documents, is there like
literally an app that I can just drag

376
00:28:18,960 --> 00:28:22,279
and drop those into and proof its
a vector database or is there a lot

377
00:28:22,319 --> 00:28:25,480
of manual work on the part of
the of the user. That's a great

378
00:28:25,559 --> 00:28:30,799
question. So Microsoft sixty sixty five
Copilot is going to come out. The

379
00:28:30,839 --> 00:28:34,039
release data is November first or something
like that, if I'm read correctly.

380
00:28:34,839 --> 00:28:40,119
So let's just use that as an
example to answer your question. Card.

381
00:28:40,279 --> 00:28:45,480
Sure, so Microsoft is sixty five
copilot would be Now you have inside Word,

382
00:28:45,559 --> 00:28:49,480
PowerPoint, Excel, whatever you will
be able to ask. You can

383
00:28:49,519 --> 00:28:56,160
go into Word and say, hey, can you please generate me an invoice

384
00:28:56,640 --> 00:29:02,079
based on the last five invoices that
I sent out? Okay, you'd be

385
00:29:02,079 --> 00:29:03,640
able to do something like this.
How do you be able to do that?

386
00:29:03,680 --> 00:29:08,559
Well, maybe you have thousands of
invoices stored on your one drive somewhere,

387
00:29:10,200 --> 00:29:15,599
and when you start training the semantic
index, which is you know,

388
00:29:15,599 --> 00:29:18,240
which is a component of the Microsoft
sixty sixty five copilot, what they would

389
00:29:18,279 --> 00:29:22,480
do is they would go through your
one drive, open up every document,

390
00:29:23,160 --> 00:29:27,160
and most commonly this is what people
are doing. Open up every document at

391
00:29:27,200 --> 00:29:32,759
the page break, Take the one
page so or some fixed number of words

392
00:29:32,799 --> 00:29:37,680
or tokens. Read that from your
document, create an embedding, store it.

393
00:29:40,039 --> 00:29:42,960
Take the next page, create an
embedding using the AI model that I

394
00:29:42,960 --> 00:29:47,519
talked about. It could be any
text model, and store it. And

395
00:29:47,839 --> 00:29:52,799
that's how Microsoft internally is creating the
semantic index. Of course, cognitive search

396
00:29:52,000 --> 00:29:56,759
now has vector database built into it. Right, Cognitive search used to be

397
00:29:56,839 --> 00:30:03,039
text search, now has vector database
built into it. So now you've got

398
00:30:03,079 --> 00:30:07,240
through this whole process of ingestion,
which can take lots of hours, yes,

399
00:30:07,279 --> 00:30:10,759
because you could have thousands of documents. But now you've taken your entire

400
00:30:10,799 --> 00:30:15,000
corpus and broken it down into a
set of embeddings. So I take it

401
00:30:15,039 --> 00:30:19,400
then this isn't something that Joe programmer
would do with a bunch of data,

402
00:30:19,519 --> 00:30:23,119
like you need some sort of powerful
tool on the back end to do this

403
00:30:23,279 --> 00:30:30,079
for you. This is something I'm
time to understand your question. Maybe this

404
00:30:30,200 --> 00:30:33,680
is the time to sort of talk
about the application I'm building and see if

405
00:30:33,680 --> 00:30:37,079
I answered that question. And I'll
come back right all right, but hold

406
00:30:37,119 --> 00:30:41,480
that thought. We'll do that right
after this break for these very important messages,

407
00:30:45,680 --> 00:30:48,359
and we're back. It's starting in
Rocks and Carl Franklin. That's Richie

408
00:30:48,359 --> 00:30:52,279
Campbell, and that's vishwas Lele and
he was just about to start telling us

409
00:30:52,279 --> 00:30:56,440
about this amazing application that he's working
on. Please do go ahead, sir,

410
00:30:56,880 --> 00:31:00,640
thank you. So I don't know
amazing, but there's an application that

411
00:31:00,880 --> 00:31:03,559
we've been trying to build the last
six months that has taken up a lot

412
00:31:04,079 --> 00:31:08,640
of my time. So we talked
about the Microsoft THY sixty five copilot.

413
00:31:08,720 --> 00:31:17,440
We are building a similar capability but
to help proposal developers. So imagine you're

414
00:31:17,480 --> 00:31:22,759
getting a fifty one hundred page RFP
or RFI or RFQ or something like that,

415
00:31:23,559 --> 00:31:29,960
and that's a very time consuming and
expensive process. Right, wouldn't it

416
00:31:30,000 --> 00:31:33,279
be nice if you were able to
take all your past performances so you're responding

417
00:31:33,279 --> 00:31:41,640
to these kinds of RFPs over years
prior. Can you take those documents and

418
00:31:41,720 --> 00:31:45,920
create some sort of a vector database
and then use that to generate a draft

419
00:31:47,079 --> 00:31:52,519
of a future RFP. So to
going back to your question, Carl,

420
00:31:53,279 --> 00:31:57,440
as a developer, what we had
to do was to write those ingestion routines

421
00:31:59,319 --> 00:32:05,559
where we take those past proposal responses
that you may have submitted to the government

422
00:32:05,640 --> 00:32:08,799
or some agency or a state or
local or what have you, and write

423
00:32:08,799 --> 00:32:15,119
that ingestion routine where we take that
document split it up. Now, there

424
00:32:15,160 --> 00:32:19,680
is a lot of work that is
happening which says, should you be breaking

425
00:32:19,720 --> 00:32:22,920
the document on the page boundary?
Is that enough? Because think about it,

426
00:32:23,359 --> 00:32:30,200
if you just break it on a
page boundary, and maybe the important

427
00:32:30,640 --> 00:32:35,319
idea or concept is transcending that page
boundary, right, break it up by

428
00:32:35,359 --> 00:32:37,960
topics, right, break it up
by topics, But then how do you

429
00:32:38,000 --> 00:32:45,119
break it up by topics table of
contents. That's a good point, but

430
00:32:46,039 --> 00:32:52,640
sometimes you know, most in our
case, at least the PDF documents that

431
00:32:52,680 --> 00:32:55,599
are usually make up these responses.
The table of contents are not that great

432
00:32:55,640 --> 00:33:00,359
and PDF is not a great possible
format in any case. Right, So

433
00:33:00,440 --> 00:33:06,519
you have to use in some cases
language models to be able to even passe

434
00:33:06,599 --> 00:33:13,039
them out and to break the document
down into some sort of a section in

435
00:33:13,160 --> 00:33:17,920
some classification format so that you can
use it for embedding. So you store,

436
00:33:19,880 --> 00:33:22,000
maybe not do it on page boundaries, maybe do it on some sort

437
00:33:22,000 --> 00:33:27,839
of a lexical boundary. But then
you also think about what if the table

438
00:33:27,880 --> 00:33:31,559
of contents has some sort of inheritance
built into it, is it important for

439
00:33:31,599 --> 00:33:36,640
you to capture that inheritance because that
might come in handy as you're trying to

440
00:33:36,680 --> 00:33:42,319
respond to a question. Right,
So those are all important things to do.

441
00:33:44,079 --> 00:33:45,799
So going back to your question,
Yes, as a developer, you

442
00:33:45,920 --> 00:33:52,440
have to think about where your embedding
boundaries lie because when it comes time to

443
00:33:52,519 --> 00:33:58,880
generate content, the more precise context
that you can provide to the language model,

444
00:33:59,119 --> 00:34:01,519
the better response are going to get. And the more precise context you

445
00:34:01,559 --> 00:34:07,480
can get by thinking deeply about how
you're going to break your corpus into the

446
00:34:07,519 --> 00:34:09,840
right set of embeddings. Isn't Microsoft
Copilt going to do a lot of this

447
00:34:09,920 --> 00:34:14,440
for us, Like, this is
a solve problem if you just are all

448
00:34:14,440 --> 00:34:17,000
in on them three sixty five and
pay whatever per month they're going to ask

449
00:34:17,039 --> 00:34:22,960
for. That's a great question.
And let me tell you the difference is

450
00:34:23,039 --> 00:34:31,199
so Microsoft Phrisks have Copilot is going
to be a general purpose answering engine,

451
00:34:31,440 --> 00:34:37,199
right, so you can ask it
and say, hey, please draft me

452
00:34:37,840 --> 00:34:40,480
the text for an invoice based on
the last five invoices, and I'm sure

453
00:34:40,519 --> 00:34:45,800
it'll do a great job. You've
seen demos of that. It also has

454
00:34:45,840 --> 00:34:50,239
access to the graph, so you
knows which people you're collaborating with, and

455
00:34:50,920 --> 00:34:57,199
it can take into account that.
But if you have a complex writing problem

456
00:34:57,400 --> 00:35:01,320
where the questions are not single line
questions, right, the RFP questions are.

457
00:35:01,360 --> 00:35:06,880
Sometimes the questions themselves are maybe a
page long or half a page long.

458
00:35:07,440 --> 00:35:12,960
Right, how do you sort of
create a prompt? So in case

459
00:35:12,960 --> 00:35:15,920
of Microsoft, there are sixty five
you're essentially writing a prompt. You're saying,

460
00:35:15,920 --> 00:35:19,519
hey, genade mean invoice which is
based on the past five invoices.

461
00:35:19,639 --> 00:35:22,519
Right, So much context in that
statement that needs to be known that you

462
00:35:22,599 --> 00:35:28,119
have in mind. Right, in
our case, the context is enormous,

463
00:35:28,239 --> 00:35:32,960
right, Richard, Because if you're
trying to respond to a complex question,

464
00:35:34,960 --> 00:35:37,960
you have to infuse a lot of
attributes into that. Right. You have

465
00:35:37,000 --> 00:35:45,199
to think about what are the pain
points that the buyer is expressing in this

466
00:35:45,320 --> 00:35:49,320
description? What are the then themes? How am I the one that they

467
00:35:49,360 --> 00:35:53,199
should be selecting and not somebody else? Is the buyer cost conscious? Have

468
00:35:53,320 --> 00:35:55,840
we done this work? Like?
You know, it's great to say that

469
00:35:55,880 --> 00:36:00,440
we are the greatest company it can
do agile development, But want it be

470
00:36:00,519 --> 00:36:02,639
nice if you can provide some proof
points that we have done this and we've

471
00:36:02,719 --> 00:36:07,039
had success. So I've just given
you three examples. There are many such

472
00:36:07,079 --> 00:36:13,679
attributes, So when you are crafting
a prompt, you need to take these

473
00:36:13,719 --> 00:36:19,559
considerations into account. So in case
of sixty five copilot, you are writing

474
00:36:19,599 --> 00:36:23,760
the prompt, but in our situation
you're writing a prompt that is far more

475
00:36:23,760 --> 00:36:30,039
complex. So we are trying to
do some prompt engineering for on behalf of

476
00:36:30,079 --> 00:36:32,800
the user where they can tell us
at a high level what they want to

477
00:36:32,840 --> 00:36:38,679
do with their response, and for
us, it is very much about about

478
00:36:39,840 --> 00:36:44,480
That's why it's a copilot. It's
not a pilot or an autopilot. You're

479
00:36:44,599 --> 00:36:49,320
leveraging the experience of experienced proposal writers. The experienced proposal writers who spent ten

480
00:36:49,400 --> 00:36:52,519
twenty thirty years writing this, they
know exactly how you should be responding.

481
00:36:52,800 --> 00:36:58,719
We are simply augmenting them and providing
the first draft. Right. All of

482
00:36:58,760 --> 00:37:02,960
the innovativeness of our engine will not
help you win any proposals. Our engine

483
00:37:04,000 --> 00:37:07,559
will help you do sort of the
mundane steps quickly so that you can spend

484
00:37:07,679 --> 00:37:13,920
more time adding innovation to your response. So you know, if you if

485
00:37:13,920 --> 00:37:17,039
you have to generate this prompt,
we think that every user is not going

486
00:37:17,079 --> 00:37:22,159
to be able to generate those levels
of prompts. And I'll tell you why,

487
00:37:22,280 --> 00:37:27,360
because as good as GBT is,
if you give a certain size prompt,

488
00:37:27,440 --> 00:37:30,960
it starts forgetting some instructions that you
give in the middle, right,

489
00:37:32,639 --> 00:37:37,239
so you have to repeat it.
So we have to have sort of layers

490
00:37:37,280 --> 00:37:40,599
of prompts that go in. And
this is why you know. The team

491
00:37:40,639 --> 00:37:44,880
that I'm working with has data scientists
in them, and people ask me sometimes,

492
00:37:44,880 --> 00:37:47,760
hey, generative AI is pre trained, do I need a data scientist?

493
00:37:47,880 --> 00:37:52,559
Well, you need a data scientist
if you're if you're crafting this sophisticated

494
00:37:52,599 --> 00:37:57,559
prompts on behalf of the user by
taking some input from them. So,

495
00:37:58,280 --> 00:38:04,039
Richard, in that manner, we
think that this is a very specialized example

496
00:38:04,559 --> 00:38:07,039
of what we are trying to use
the language model, and this is sort

497
00:38:07,039 --> 00:38:10,920
of the difference with the M sixty
five copilot, and there are a few

498
00:38:10,920 --> 00:38:16,880
other differences for us. Hallucination is
very very important. Don't please don't go

499
00:38:16,960 --> 00:38:22,920
out and say that you did a
five thousand SharePoint node migration when you've only

500
00:38:22,960 --> 00:38:25,559
done fifty or five hundred, right, that we'll be a problem. Right,

501
00:38:27,000 --> 00:38:34,519
So we do explicitly accuracy verification,
and there are many techniques that your

502
00:38:34,599 --> 00:38:37,719
listeners may be aware of that.
You know, you take the generator to

503
00:38:37,719 --> 00:38:42,960
response, you try to extract entities
from that and lage language models. Right,

504
00:38:43,199 --> 00:38:46,400
So any definitive statements in there,
yes, yes, and language models

505
00:38:46,400 --> 00:38:50,840
are great or extracting entities. And
then you take those entities and then you

506
00:38:51,119 --> 00:38:53,760
do a search against your knowledge repository
and say, do I see a five

507
00:38:53,840 --> 00:38:59,199
hundred node migration ever mentioned here?
And if it is not, then let's

508
00:38:59,199 --> 00:39:02,159
just flag it and let a human
proposal writer go check this. We're doing

509
00:39:02,199 --> 00:39:09,559
those kinds of things peer, if
you I'll just just extend this by saying

510
00:39:09,599 --> 00:39:13,840
that I don't know if if your
listeners have seen this study from MIT,

511
00:39:14,559 --> 00:39:16,920
where there are many studies out there
which said, okay, let's just try

512
00:39:16,960 --> 00:39:22,360
to measure the productivity improvements or something
like chat depety. Right, So what

513
00:39:22,400 --> 00:39:25,960
they did was they took four hundred
people college degrees good writers, broke them

514
00:39:25,960 --> 00:39:30,760
into groups of into two groups two
hundred each, gave them a writing assignment,

515
00:39:31,360 --> 00:39:36,199
and then people who were evaluating them
had no idea whether they were using

516
00:39:36,199 --> 00:39:38,639
some tools or not. So they
gave them on writing assignment where nobody was

517
00:39:38,679 --> 00:39:43,760
allowed to use any tools. Say, got the baseline. Then they give

518
00:39:43,800 --> 00:39:46,719
them another writing assignment, but this
time half the group was only allowed to

519
00:39:47,199 --> 00:39:51,159
use chat deputy. The other group
was not allowed to use chat jpety.

520
00:39:52,000 --> 00:39:55,800
And now once again the evaluators had
no idea who was doing what. And

521
00:39:55,840 --> 00:39:59,960
if you look at the results,
pretty amazing results. Right. The group

522
00:40:00,159 --> 00:40:06,400
that was using chat GPT completed their
work in thirty or thirty three percent less

523
00:40:06,400 --> 00:40:09,039
time. And I can point you
to the study. So my numbers may

524
00:40:09,039 --> 00:40:13,920
be off. But more importantly,
more importantly, the people who are using

525
00:40:14,000 --> 00:40:19,719
chat GPT scored a thirty three or
thirty five percent better grades than people who

526
00:40:19,760 --> 00:40:23,280
are not using Okay, so a
third better grade in a third less time,

527
00:40:23,360 --> 00:40:27,639
third less time. I mean that's
amazing. And then what was it

528
00:40:27,679 --> 00:40:31,639
fact checked? Because that's my problem. You might be able to split up

529
00:40:31,639 --> 00:40:37,800
beautiful text, but is it really
right? Yes, and human evaluators evaluated

530
00:40:37,920 --> 00:40:42,440
that, right, It was just
like you know, people testing that that's

531
00:40:42,480 --> 00:40:45,480
always a case, right, And
we know that human evaluators make mistakes too

532
00:40:46,320 --> 00:40:50,840
as well well, and we don't
know exactly what they were trying to write,

533
00:40:50,880 --> 00:40:53,320
like as soon as you get away
from non factual writing, like just

534
00:40:53,400 --> 00:40:59,760
exploratory fiction based writing and stuff,
it's not the same set of problems right,

535
00:41:00,239 --> 00:41:04,039
right, And you know what is
interesting is that you know, remember

536
00:41:04,079 --> 00:41:07,760
I said that they were all given
a task where nobody was allowed to use

537
00:41:07,760 --> 00:41:12,159
in external tools. So that was
to establish a baseline, right. What

538
00:41:12,280 --> 00:41:17,880
is interesting in the study is that
writer folks who did not have great writing

539
00:41:17,920 --> 00:41:23,400
ability, right, even they benefited
from when they were put in a pool

540
00:41:23,400 --> 00:41:28,400
where they could use chatgputy. They
benefited from. Their grades went up significantly.

541
00:41:28,480 --> 00:41:30,440
I mean I would argue they would
benefit more, they would manafit more

542
00:41:30,559 --> 00:41:37,280
right. But you know, there's
very very interesting thing that about that study

543
00:41:37,639 --> 00:41:40,559
that I'd like to bring back to
your question, Richard. It was very

544
00:41:40,559 --> 00:41:44,440
interesting in the study that there's something
called, and I'm going to use a

545
00:41:44,440 --> 00:41:46,800
fancy term that I did not know
until I read this m study called the

546
00:41:47,320 --> 00:41:55,039
human machine complementarity. Okay. So
what they did was they evaluated the grades

547
00:41:55,079 --> 00:41:59,760
at two levels. So the team
that was remembered the team that was using

548
00:41:59,840 --> 00:42:05,519
cheat gpty. It took the output
of chat gpt and graded it, and

549
00:42:05,599 --> 00:42:09,920
then they took the output where humans
did some prompt engineering on top of chat

550
00:42:09,960 --> 00:42:16,079
GPT and generated an output and evaluated
that too, okay, and they found

551
00:42:16,079 --> 00:42:20,679
that there was not much difference,
right. So what is interesting is,

552
00:42:20,679 --> 00:42:24,599
so where is this human machine complementarity
coming in? So people looked at the

553
00:42:24,639 --> 00:42:29,599
chat gepety output, made a few
tweaks, and then they submitted it.

554
00:42:30,159 --> 00:42:37,760
So, tying it back to your
question, Richard, my theory is that

555
00:42:38,440 --> 00:42:43,320
the reason there was not much different
from the chat gept and the human machine

556
00:42:43,599 --> 00:42:49,519
output was people were not thinking carefully
about the bronze and actually writing detailed prons,

557
00:42:49,920 --> 00:42:54,679
right, And we think that by
creating these layers of prompt for them

558
00:42:55,159 --> 00:42:59,679
you can get a benefit on top
of so everybody is going to get that

559
00:42:59,800 --> 00:43:02,159
third percent benefit. That's going to
be at some point table stakes, right,

560
00:43:04,519 --> 00:43:08,440
was it? Steve Snowski I was
reading a post from him recently said

561
00:43:08,480 --> 00:43:15,119
every textbox is going to be LLLM
enabled soon and it's going to be like

562
00:43:15,239 --> 00:43:17,320
you start writing and it will just
start giving you some stuff. So no,

563
00:43:19,159 --> 00:43:22,960
everybody is going to benefit from thirty
percent or twenty eight percent or whatever

564
00:43:22,039 --> 00:43:27,840
that is, right, So how
do you go beyond that? Well you

565
00:43:27,920 --> 00:43:32,480
go beyond that through sophisticated prompt engineering. So that's been my journey to build

566
00:43:32,519 --> 00:43:37,239
this tool. Take your past responses, and I have to say this.

567
00:43:37,679 --> 00:43:40,480
People ask me this all the time. This is not what we are building.

568
00:43:40,519 --> 00:43:44,199
Is not cheating as a service,
right, I tell people, if

569
00:43:44,239 --> 00:43:46,800
you don't, if you don't have
good past responses, if you don't have

570
00:43:46,840 --> 00:43:52,000
good architects who can come up with
a good solution, if you don't have

571
00:43:52,280 --> 00:43:59,280
creative solutions, then what we produce
will be pretty you know, poor and

572
00:43:59,840 --> 00:44:02,360
not something that you want. But
if you have good past performances that you've

573
00:44:02,400 --> 00:44:07,480
done this SharePoint migration work and you
can come up with a you have architects

574
00:44:07,480 --> 00:44:10,960
who can come up with a solution, then this is going to benefit.

575
00:44:12,039 --> 00:44:19,599
So really, from a responsibilii standpoint, it is about taking your knowledge and

576
00:44:19,639 --> 00:44:25,280
then generating that quickly and then accurately
checking it that you're not hallucinating and saying

577
00:44:25,280 --> 00:44:30,159
you did five thousand not server migration, right. I love it as a

578
00:44:30,239 --> 00:44:35,800
service, chees. But also you
know the old the old comside comment of

579
00:44:35,920 --> 00:44:39,760
gigo right of garbaging garbage out.
Yes, like we still have data quality

580
00:44:39,800 --> 00:44:43,920
problems like this comes down to the
quality the data you load the set with

581
00:44:44,039 --> 00:44:46,559
and how well you load it.
But it is an automation tool, and

582
00:44:49,079 --> 00:44:52,760
all automations stuff from the same problem, which is they're only going to amplify

583
00:44:53,440 --> 00:44:57,000
what you tell it to amplify.
And if you tell it to amplify your

584
00:44:57,039 --> 00:45:01,559
stupidity, it's going to amplify your
stupidity. You're you're absolutely liter Richard my

585
00:45:02,320 --> 00:45:07,400
sort of in my experience in six
months working on this project, it's clear

586
00:45:07,480 --> 00:45:14,239
that you spend a lot of time
doing data wrangling. You talked about garbage

587
00:45:14,239 --> 00:45:16,559
and garbage out. Do you worry
about what data is getting in? So

588
00:45:16,559 --> 00:45:22,320
so be prepared to do those kinds
of things. Even though these models are

589
00:45:22,360 --> 00:45:28,280
great, But I would say one
thing, these models are far more accepting

590
00:45:28,320 --> 00:45:36,079
of the mistakes. So I was
just doing this example recently where you know,

591
00:45:36,119 --> 00:45:40,280
we had to calculate some accuracy or
some data and we went out to

592
00:45:40,400 --> 00:45:46,719
three or four external services to go
validate this data. And each of the

593
00:45:46,800 --> 00:45:51,480
services returned the data in a different
format, right, one return in a

594
00:45:51,559 --> 00:45:55,320
certain Jason structure. Somebody gave us
XML back, and previously I would have

595
00:45:55,400 --> 00:45:59,440
to write a lot of data wrangling
code to sort of pars out that data,

596
00:45:59,599 --> 00:46:04,159
get this and then compare it sort
of very format it's yeah, to

597
00:46:04,199 --> 00:46:07,400
get them into very imperative code,
very much imperative code that I had to

598
00:46:07,480 --> 00:46:10,320
write, yeah, right, and
then immediately throw away like you're only going

599
00:46:10,400 --> 00:46:15,440
to do throw it because it's going
to And in case of language models,

600
00:46:15,480 --> 00:46:22,239
you can say, hey, I'm
you know, I'm interested in validating this

601
00:46:22,639 --> 00:46:27,920
source information that I have. I
went out and made a call to four

602
00:46:28,039 --> 00:46:31,400
external data sources, and they're going
to give us some data back. And

603
00:46:31,480 --> 00:46:35,119
this data may not be exactly what
you want, might be wrapped in some

604
00:46:35,320 --> 00:46:39,599
XML or JSON. Please try to
make sense of the data and it actually

605
00:46:39,719 --> 00:46:45,480
tries to extract entities whether it is
XML or JSON right and does the comparison

606
00:46:45,559 --> 00:46:49,719
for you. So so I found
that writing that data wrangling code was much

607
00:46:49,840 --> 00:46:53,400
quicker than previously as possible. So
there are these examples. So he was

608
00:46:53,480 --> 00:46:59,440
able to discriminate a tag from content
it will not it will yeah, so

609
00:47:00,559 --> 00:47:06,639
as is the case with the imperative
program. So I do feel that as

610
00:47:06,840 --> 00:47:13,960
a software developer, as we think
about these problems, and Carl you talked

611
00:47:14,000 --> 00:47:19,000
about, you know, being a
coding assistant is important, and I tend

612
00:47:19,079 --> 00:47:22,400
to use most of the times,
I tend to use chat jupety for my

613
00:47:22,559 --> 00:47:27,920
coding stuff because it is you know, of course I can use the get

614
00:47:28,000 --> 00:47:30,559
ub copilot and get ub copilot.
You know, the benefit of course is

615
00:47:30,599 --> 00:47:35,719
that you know ID you're based in
the ide right there as you're coding.

616
00:47:35,760 --> 00:47:38,599
It is showing. But for me, even more important thing is I go

617
00:47:38,679 --> 00:47:43,639
to chat gepet and say I'm trying
to write this routine and this is generally

618
00:47:43,760 --> 00:47:45,760
my idea about this routine. I
can describe it in plain English. It

619
00:47:45,840 --> 00:47:50,320
comes back with some code and maybe
I take that code, I paste it

620
00:47:50,440 --> 00:47:52,800
in there and then I'll test it
and maybe'll give me an error, or

621
00:47:52,840 --> 00:47:55,599
maybe the logic is not quite accurate. I can go back and have a

622
00:47:55,679 --> 00:47:59,480
conversation that, hey, you gave
me some code, but it is not

623
00:47:59,599 --> 00:48:05,000
handling this edge condition. Oh that's
let me handle that edge condition for you.

624
00:48:05,119 --> 00:48:07,840
Go modify these three lines of code
from here and then bring it back

625
00:48:08,119 --> 00:48:14,159
to my ID and change it.
So in this manner, it's an iterative

626
00:48:14,199 --> 00:48:20,480
development model. So that is a
significant timesaver. I had this exact experience

627
00:48:20,519 --> 00:48:25,280
you're talking about, without going too
far into it, Kelly. My wife

628
00:48:25,320 --> 00:48:30,360
and I like to do word search
puzzles, right, and we were getting

629
00:48:30,360 --> 00:48:31,639
it in the paper once a week, and we're like, you know,

630
00:48:32,280 --> 00:48:35,639
maybe I had to go get a
book, and the books were like terrible.

631
00:48:35,840 --> 00:48:39,280
So I actually wrote a word search
using chatch ept to help me do

632
00:48:39,400 --> 00:48:45,320
it, and it was completely iterative, and I probably should publish the conversation

633
00:48:45,440 --> 00:48:49,440
that I had to get the code. But it started just by putting them

634
00:48:49,519 --> 00:48:52,719
all in a line, you know, and I'm like, can you mix

635
00:48:52,760 --> 00:48:57,519
them up? Some backwards some diagonal
some backwards diagonals? Like sure, So

636
00:48:57,639 --> 00:49:04,159
we just went through this reiterative thing
and then it actually was great. I

637
00:49:04,239 --> 00:49:07,679
mean I used, first of all, I use a GPTAPI to search for

638
00:49:07,880 --> 00:49:15,760
words around the topic of X camping
right. And I tried, first of

639
00:49:15,800 --> 00:49:20,360
all, I tried all these other
libraries that try to do semantic you know,

640
00:49:20,639 --> 00:49:23,159
matching and searching and stuff, and
they just fell flat. But you

641
00:49:23,239 --> 00:49:28,119
know, the GPTAPI was like,
no problem. It just produced these words

642
00:49:28,159 --> 00:49:30,719
and I could tell it maximum word
length, minimum word length, how many

643
00:49:30,760 --> 00:49:35,719
words to come back with, you
know, don't use dashes or apostrophes like.

644
00:49:36,360 --> 00:49:39,320
It was really really an easy and
it was just a single sentence of

645
00:49:39,440 --> 00:49:45,960
English that I had to perfect in
this API as a query. So yeah,

646
00:49:45,000 --> 00:49:52,639
I know exactly what you're saying.
The iterative process of using GPT chat

647
00:49:52,760 --> 00:49:57,079
GPT in particular to come up with
some solution is really really powerful. I

648
00:49:57,159 --> 00:50:00,679
knew the model is able to reflect
sometimes and say hey, I asked you

649
00:50:00,719 --> 00:50:06,280
to write a poem and which I
let's say, I want I wanted to

650
00:50:06,320 --> 00:50:08,599
make sure that this is does not
rhyme, and you give me an output

651
00:50:08,639 --> 00:50:12,199
which is rhyming, and say hey, this does not make sense, and

652
00:50:12,199 --> 00:50:15,079
it will say, hey, sorry, I apologize, I don't I met

653
00:50:15,119 --> 00:50:20,000
your requirement. It's very polite.
It's polite, but Richard, I do

654
00:50:20,119 --> 00:50:22,960
want to go back to you said
it is a stochastic parrot. Right,

655
00:50:24,039 --> 00:50:29,519
I would challenge that a little bit
and I put a put a video out.

656
00:50:29,599 --> 00:50:32,119
I'll send you the link that is
not based on my work. That's

657
00:50:32,559 --> 00:50:38,320
based on some great research that was
done something called the Othello GPT and your

658
00:50:38,400 --> 00:50:43,320
listeners may know Othello as a game
called reversy. It's an eight by board,

659
00:50:43,880 --> 00:50:46,679
right, So somebody did this,
this awesome research, and I have

660
00:50:46,719 --> 00:50:50,480
an eight or ten minute video that
I talk about it, and I especially

661
00:50:50,480 --> 00:50:52,000
if you want to reference that,
because you know, we always think,

662
00:50:52,440 --> 00:50:57,480
hey, this is a stochastic parrot. You know, it just comes up

663
00:50:57,559 --> 00:51:00,880
with something based on what it has
heard. And then you start typing and

664
00:51:00,960 --> 00:51:04,960
you start talking or you give a
response, and it says, oh,

665
00:51:05,119 --> 00:51:07,000
these eight words, the ninth word
must be this, and the tenth word

666
00:51:07,280 --> 00:51:14,280
must be this. So what the
creators of the Athology GPD paper did was

667
00:51:14,719 --> 00:51:17,320
they said, Okay, let's constrain
the problem as any good engineer would do.

668
00:51:19,000 --> 00:51:23,400
Rather than having a fifty thousand vocabulary
of English words and then having billions

669
00:51:23,440 --> 00:51:28,599
of parameter models, let's just use
the same technology, use a transform on

670
00:51:28,760 --> 00:51:34,119
network. But let's constrain the problem
down to the game of Othallo. So

671
00:51:34,440 --> 00:51:39,440
Othello is a by board and you
know, for limited number of moves,

672
00:51:39,639 --> 00:51:44,679
as you can imagine. Right,
let's just take the sequences. Let's just

673
00:51:44,800 --> 00:51:51,039
go to the World Championship Othallo website
and let's just download all the game scripts.

674
00:51:51,519 --> 00:51:53,719
And now your vocabulary is not fifty
thousand words, it's just the limited

675
00:51:53,840 --> 00:51:58,880
number of moves that you can make
in that game. And now train the

676
00:51:59,079 --> 00:52:04,960
model. Train a language model based
on the scripts of Othello game. Okay,

677
00:52:05,960 --> 00:52:09,400
And now there's a technique in in
neural networks that has been around for

678
00:52:09,519 --> 00:52:15,800
some time called the probes where you
can go to a certain layer of this

679
00:52:15,320 --> 00:52:21,519
neural network and say, what have
you learned? What up until now?

680
00:52:22,119 --> 00:52:25,039
What is your understanding? And what
the creators of this paper did was,

681
00:52:25,760 --> 00:52:31,559
so let's say two players are playing
this game and then you let's say you're

682
00:52:31,599 --> 00:52:37,599
they are halfway through the game or
at whatever level they are, And what

683
00:52:37,760 --> 00:52:43,760
they wanted to know was, does
the model really develop an emerging representation of

684
00:52:43,880 --> 00:52:47,519
the board. It's not just predicting
the next move, right, And to

685
00:52:47,679 --> 00:52:52,719
prove that point, what they did
was what if I'm going to suddenly change

686
00:52:52,840 --> 00:53:00,519
the board positioning, I can move
these these these moves around or the pieces

687
00:53:00,559 --> 00:53:07,400
around, and does it now change
the prediction based on that? So two

688
00:53:07,480 --> 00:53:12,840
things I said, apply approbe figure
out the emerging representation of that othello game.

689
00:53:13,280 --> 00:53:17,519
So now it is predicting based on
that. Now go in and manually

690
00:53:17,760 --> 00:53:23,760
change the position of these pieces and
now see if it predicts something accurately.

691
00:53:24,159 --> 00:53:29,320
So what this paper tries to do
is try to say that, you know,

692
00:53:29,400 --> 00:53:35,159
it's not just a stochastic prediction.
In training this over and over and

693
00:53:35,320 --> 00:53:40,199
over again, it has developed an
emerging representation of the world, and can

694
00:53:40,280 --> 00:53:46,480
we just try and apply this to
CHATGPT In some ways it is developing an

695
00:53:46,559 --> 00:53:52,800
emerging representation of the world. Now
there are people who absolutely disagree, Ian

696
00:53:52,920 --> 00:53:55,559
Lacun being one of them. But
there are data scientists who who think that

697
00:53:55,800 --> 00:54:02,599
these models are learning something more than
at giving them credit for. So that's

698
00:54:02,599 --> 00:54:07,239
a debate. But you know,
I'll point to that. TELLOGPT if you

699
00:54:07,239 --> 00:54:09,320
want to read the paper, I
found the link and I'll included in the

700
00:54:09,320 --> 00:54:14,199
show notes. Yes on your post
and yeah it's in I mean, yeah,

701
00:54:14,199 --> 00:54:16,639
I'm you know me I follow in
firmly in the Angkoon space of this

702
00:54:16,840 --> 00:54:21,519
is there are no emergency property emergent
property here except the ones that we project

703
00:54:21,639 --> 00:54:28,960
upon them. It's software, but
you can't argue with its ability to summarize,

704
00:54:29,599 --> 00:54:35,320
And so is this a kind of
summarization, right? And a good

705
00:54:35,400 --> 00:54:38,519
summary also represents an emerging understanding.
Right? But keep in mind, you

706
00:54:38,599 --> 00:54:43,119
know, the model has no notion
that you're playing a game. It has

707
00:54:43,159 --> 00:54:45,760
no notion of who's winning, who's
losing. Right, are there any of

708
00:54:45,800 --> 00:54:50,320
those things are important? Right?
And that's there in nice part of the

709
00:54:50,360 --> 00:54:54,000
problem like this is such the opposite
of common sense that you could possibly imagine.

710
00:54:54,559 --> 00:54:58,199
Right. But at the same time, the eight by eight board is

711
00:54:58,280 --> 00:55:00,400
complex enough that it cannot memory the
moves. You can't keep it in your

712
00:55:00,440 --> 00:55:04,599
head. You can not keep it
in your head. So there is some

713
00:55:04,840 --> 00:55:09,320
emerging representation the rules of the game. Some strategy is emerging that you know,

714
00:55:09,639 --> 00:55:13,559
anybody who's played othello knows that you
know you want to take the coroner

715
00:55:13,639 --> 00:55:20,280
positions quickly to block your opponent.
It is developing those emerging strategies. Nobody

716
00:55:20,320 --> 00:55:24,000
said you should do this, So
there's something to be said, I found

717
00:55:24,079 --> 00:55:28,639
that paper so fascinating that I had
to read for your listeners. I had

718
00:55:28,639 --> 00:55:31,920
to read it five times to understand
that paper. These papers are complex to

719
00:55:32,039 --> 00:55:37,400
read, and then I tried to
synthesize the meaning as I understood it in

720
00:55:37,480 --> 00:55:40,480
a ten or fifteen minute video.
Looks like you found a link to that.

721
00:55:40,880 --> 00:55:45,719
Yeah, it's twenty minutes, but
okay, it was complicated, so

722
00:55:45,880 --> 00:55:49,760
it was a little longer. But
I appreciate your thinking on this, and

723
00:55:49,840 --> 00:55:52,480
it's great to see you building stuff
here because it does give us all encouragement

724
00:55:52,559 --> 00:55:58,639
that there is space for some useful
products if you put the proper parameters around

725
00:55:58,639 --> 00:56:04,000
it, like the capiats are important, covets are important, and think about

726
00:56:04,039 --> 00:56:07,239
it in this manner. Right again, going back to I'm always looking for

727
00:56:07,360 --> 00:56:13,599
how can I build application faster?
So think about the three applications type that

728
00:56:13,719 --> 00:56:16,239
are emerging. Right of course,
three sixty five copilot, you have productivity

729
00:56:16,320 --> 00:56:20,159
tools they are adding lllms to.
That makes sense, right, But then

730
00:56:20,360 --> 00:56:23,840
maybe you have some sort of a
line of business application or complex claims processing

731
00:56:23,960 --> 00:56:30,039
system that most of your listeners can
relate to. There's one piece of functionality

732
00:56:30,119 --> 00:56:35,119
that we've never been able to you
know, imperatively code. Maybe that functionality

733
00:56:35,239 --> 00:56:38,360
can be we can embed LLMS into
your existing line of business applicant, right

734
00:56:38,599 --> 00:56:45,800
right, we you know, we
get some large discounts because if we keep

735
00:56:45,920 --> 00:56:52,039
track of all of the invoices and
certain products from different vendors, if we

736
00:56:52,119 --> 00:56:55,320
can somehow put them together, maybe
we can come up with a way and

737
00:56:55,519 --> 00:57:00,400
negotiate a contract with somebody. Right, very hard problem to do. We

738
00:57:00,480 --> 00:57:05,519
have never been able to add that
to over invoice them. Maybe now we

739
00:57:05,599 --> 00:57:08,760
can inject LLLMS to do that.
So that's the other type of application.

740
00:57:09,000 --> 00:57:12,719
And then of course the third type
is a native you know, problems that

741
00:57:12,800 --> 00:57:15,679
we have not been able to solve
without generative AI, and now people are

742
00:57:15,760 --> 00:57:20,519
coming up with applications and new applications
come out every day. No, and

743
00:57:20,599 --> 00:57:24,119
I appreciate all of that sort of
truth that as we narrow in on what

744
00:57:24,280 --> 00:57:29,039
these tools are reliable for, it
is a new class of automation and it

745
00:57:29,119 --> 00:57:32,840
will take certain workloads off the table
that just we're bloody hard. I think

746
00:57:32,880 --> 00:57:37,159
the easy win is the raising of
the average Like you talked about the writing

747
00:57:37,320 --> 00:57:43,360
side, that yeah, LMS will
mean that your ordinary writer is a better

748
00:57:43,440 --> 00:57:45,880
writer, one would argue, the
very best will still be better than any

749
00:57:46,000 --> 00:57:52,440
tool, but most of us aren't
the very best, but far more interesting

750
00:57:52,840 --> 00:57:55,239
will be this true. We couldn't
have solved this any other way, Right,

751
00:57:55,920 --> 00:57:59,840
you were mentioning a fellow and immediately
go to the deep mind stuff that

752
00:58:00,079 --> 00:58:06,039
that went after go. And while
that's interesting, deep mind's also tackling protein

753
00:58:06,159 --> 00:58:12,599
folding and is now producing results that
we're going to take years to validate because

754
00:58:12,599 --> 00:58:15,559
they've tackled such a complicated problem.
Like at this point they're like, well,

755
00:58:15,599 --> 00:58:19,320
it's now come back with some protein
for whole routines we've never seen before,

756
00:58:20,039 --> 00:58:22,280
and until we prove them, we
don't know if they're right or not,

757
00:58:22,599 --> 00:58:25,599
and it's actually hard for us to
even prove it. Is that's interesting

758
00:58:25,719 --> 00:58:30,199
is the IBM Watson Chess program and
AI. Well, it's a decision tree

759
00:58:30,239 --> 00:58:35,239
model built in the nineties. Like
it's way more primitive and compremitive. But

760
00:58:35,400 --> 00:58:38,920
if you look at what it's just, it predates the deep learning models that

761
00:58:39,000 --> 00:58:44,159
we use in generated AI, but
it uses just pure brute force to go

762
00:58:44,320 --> 00:58:47,280
through those trees in every possible combination. Yeah, well, it has a

763
00:58:47,320 --> 00:58:52,519
triage because you can get too deep. But one of the variations on Alpha

764
00:58:53,000 --> 00:58:59,960
GO they actually use the same training
model to train against chess, and its

765
00:59:00,199 --> 00:59:04,519
slaughtered the best digital chess players out
there, and it learned no time at

766
00:59:04,519 --> 00:59:07,719
all. Like it just if there
was an indication that for this kind of

767
00:59:07,800 --> 00:59:13,719
problem space, it was wicked good
at it. And also that, unlike

768
00:59:13,960 --> 00:59:19,800
the Decision model was taught against historical
games, that Alpha my model literally was

769
00:59:19,800 --> 00:59:22,280
just given the rules and played itself, right, which is what they ended

770
00:59:22,360 --> 00:59:25,199
up with GO. Originally, they
with the original version of the Go they

771
00:59:25,280 --> 00:59:30,880
trained against classical games and then made
a much more efficient version that just trained

772
00:59:30,880 --> 00:59:35,719
against itself. So, I mean
the space is where these genera AI models

773
00:59:35,800 --> 00:59:42,199
make sense, none of which is
fact based, especially especially when it comes

774
00:59:42,239 --> 00:59:46,000
about extracting facts from the Internet.
You know, that place that really lacks

775
00:59:46,039 --> 00:59:50,880
a lot of facts. Yeah,
so you know, it's as long as

776
00:59:50,920 --> 00:59:54,599
you use a tool appropriately and you
don't fall into the trap of trusting it

777
00:59:54,719 --> 01:00:00,440
as an authority, right any more
than you trust your calculator being authority calcuators,

778
01:00:00,239 --> 01:00:04,000
Well, at least the calculator comes
up with the same answer every time.

779
01:00:04,440 --> 01:00:07,159
Oh, the input it's are the
same, for sure, don't discount

780
01:00:07,199 --> 01:00:09,119
the user error issue with calculators,
right, I mean it, you know

781
01:00:09,199 --> 01:00:13,000
you have to follow the same sequence
of keys, but yeah, you get

782
01:00:13,519 --> 01:00:16,719
Well, how many times we run
into companies where they based their actions on

783
01:00:16,840 --> 01:00:22,679
a on a spreadsheet that had bad
math in it. You know it's easy

784
01:00:22,760 --> 01:00:25,840
to do. Uh. The hour
flies by with you visual, I know,

785
01:00:27,239 --> 01:00:30,840
kind like I want to keep going, but I could easily go another

786
01:00:30,880 --> 01:00:35,119
hour. Oh well, thank you
for this. It's I'm really grateful for

787
01:00:35,440 --> 01:00:38,239
the work you've done. Yeah,
me too, And and especially I really

788
01:00:38,320 --> 01:00:46,159
appreciate your business oriented mind of using
AI where and that's something that I'm I'm

789
01:00:46,559 --> 01:00:51,920
just now starting to, you know, wrap my mind around. How how

790
01:00:52,000 --> 01:00:53,840
are real businesses going to use this? I mean you mentioned the Azure thing,

791
01:00:54,000 --> 01:01:01,000
but also Google Bard now can search
Drive and Gmail and everything else.

792
01:01:01,320 --> 01:01:07,280
Gmail search was always really good,
but all these business tools are coming out,

793
01:01:07,559 --> 01:01:14,119
and therein lies the opportunity I think. Yeah, So thanks again,

794
01:01:14,239 --> 01:01:19,159
Vishwas and dear listener, we will
talk to you again next time on dot

795
01:01:19,239 --> 01:01:44,360
net rocks. Dot net Rocks is
brought to you by Franklin's Net and produced

796
01:01:44,360 --> 01:01:49,960
by Pop Studios, a full service
audio, video and post production facility located

797
01:01:50,000 --> 01:01:53,599
physically in New London, Connecticut,
and of course in the cloud online at

798
01:01:53,679 --> 01:01:59,480
pwop dot com. Visit our website
at d O T N E t R

799
01:01:59,480 --> 01:02:05,000
O c as dot com for RSS
feeds, downloads, mobile apps, comments,

800
01:02:05,360 --> 01:02:08,440
and access to the full archives going
back to show number one, recorded

801
01:02:08,480 --> 01:02:13,360
in September two thousand and two.
And make sure you check out our sponsors.

802
01:02:13,559 --> 01:02:16,159
They keep us in business. Now
go write some code. See you

803
01:02:16,239 --> 01:02:20,360
next time. You got Jack Middle
Vans
